Script bricht ab - aber keine Fehlermeldung
jan
- php
0 botl1k30 Sven Rautenberg0 shn0 dedlfix
Hallo,
wenn ich ein php-Script schreibe und einen Syntaxfehler drin hab, bricht das Script an der Stelle dann einfach ab, aber gibt keine Fehlermeldung aus ob wohl ich error_reporting( "E_ALL" ); eingefügt hab. Was natürlich bei der Fehlersuche nicht grad hilfreich ist...^^
Hat jemand ne idee warum keine Fehlermeldungen angezeigt werden (Servereinstellung?) und was ich da machen kann. (Hab kein Zugriff auf Servereinstellungen...)
Hi,
versuchs mal mit error_reporting(E_ALL); ;)
greetz
Moin!
wenn ich ein php-Script schreibe und einen Syntaxfehler drin hab, bricht das Script an der Stelle dann einfach ab, aber gibt keine Fehlermeldung aus ob wohl ich error_reporting( "E_ALL" ); eingefügt hab. Was natürlich bei der Fehlersuche nicht grad hilfreich ist...^^
Es gibt noch die Einstellung "display_errors", die du mit ini_set ändern kannst.
- Sven Rautenberg
Servus,
error_reporting( "E_ALL" );
Wie botl1k3 bereits erwähnte erwartet error_reporting keinen String, sondern einen Integer in Form einer Bitmask. Innerhalb von PHP gibt es für die gängigsten Kombination vordefinierte Konstanten. Eine davon ist E_ALL, was 6143 entspricht. Demnach muss es folglich heissen:
error_reporting(E_ALL);
oder
error_reporting(6143);
Vergewissere dich außerdem, dass display_errors aktiviert ist (innerhalb der Testumgebung, auf Produktivservern bitte abstellen ;).
Hat jemand ne idee warum keine Fehlermeldungen angezeigt werden (Servereinstellung?) und was ich da machen kann. (Hab kein Zugriff auf Servereinstellungen...)
In der Doku steht, welche Möglichkeiten man hat, Server-Einstellungen zu ändern.
Gruss
Patrick
echo $begrüßung;
wenn ich ein php-Script schreibe und einen Syntaxfehler drin hab, bricht das Script an der Stelle dann einfach ab, aber gibt keine Fehlermeldung aus ob wohl ich error_reporting( "E_ALL" ); eingefügt hab.
Syntaxfehler werden beim Parsen erkannt. Das passiert bevor das Script ausgeführt wird und eine darin aufzurufende Funktion zum Zuge kommen kann. Wenn das error_reporting (oder display_errors) standardmäßig schweigend eingestellt ist, wirst du Syntaxfehler im Script nie zu sehen bekommen. Man kann das error_reporing je nach Server-Gegebenheiten in der .htaccess (PHP als Modul im Apachen) oder in einer im Verzeichnis liegenden php.ini (bei PHP als CGI) beeinflussen. Frage dazu deinen Provider, welche Möglichkeiten es gibt. Am besten ist natürlich, Syntaxfehler in einer Testumgebung aufzuspüren. Das kann man auch automatisch über ein komplettes Verzeichnis laufen lassen: http://shiflett.org/blog/2007/dec/php-advent-calendar-day-17. Andererseits sollte man nach jeder Änderung eines Scripts selbiges einer Laufkontrolle unterziehen, so dass man Syntax-Fehler sofort sieht.
echo "$verabschiedung $name";