PHP Error durch require()?


11.05.2022, 21:46

Achtung, ich benutze dirname() daher, da mein Root Folder ebenfalls in domain.com liegt, dieser heißt "public" !


11.05.2022, 21:47

Außerdem sind bei manchen try catch Blöcken "unnötige" Fehler angegeben, die im try gar nicht geworfen werden können, ich weiß, hab ich nur leider vergessen bis jetzt zu löschen :D - daher nicht wundern

Ich habe mir mit die(); auch schon den Pfad, welcher dann letzendlich in require steht ausgeben lassen, dieser scheint zu stimmen :(

2 Antworten

Wenn via require eine Datei nicht geladen werden kann, wird diese Sorte Fehler (E_COMPILE_ERROR) geworfen, die du nicht so einfach via try-catch auffangen kannst.

So ein try-catch brauchst du im Übrigen nicht. Ein if-else dürfte ausreichen:

$include_path = dirname($_SERVER['DOCUMENT_ROOT']) . '/php/settings/settings.php';

if (is_readable($include_path) === false) {
  error_log(/* ... */);
  header('Location: /error/?error=500');
  exit;
}

require_once $include_path;

// ...
Ich habe mir mit die(); auch schon den Pfad (...) ausgeben lassen, dieser scheint zu stimmen :(

Wenn die Pfade immer passen, scheint wohl eher etwas mit dem Code nicht zu stimmen, der zusammengeführt wird. Schau also, dass du an die Fehlermeldung zu dem Fehler kommst, der offensichtlich auftritt.

ArduinoGeek 
Fragesteller
 11.05.2022, 22:50

Danke!!

0

Erste Regel bei Fehlern, Fehlermeldungen anschauen und im Idealfall auch verstehen

error.log

error_reporting

display_errors

und Co sind Deine Freunde!