2009-03-09 5 views
1

Ich verwende TextWrangler, um PHP-Code zu bearbeiten. Ich stoße oft auf das Problem, dass der Code in meiner Entwicklungsumgebung nur als leere Seite angezeigt wird. Gibt es einen guten Weg, weiter zu zielen, an welchen Ort ich in meinem Code nach dem Problem suchen sollte?PHP-Syntaxüberprüfung?

Momentan laufe ich nur manuell durch jede Zeile, wenn ich darauf stoße, aber ich vermute, dass es eine Lösung dafür gibt, für die ich den Namen nicht finden konnte.

Antwort

4

Sie sollten Ihre Entwicklung php.ini-Datei enthält sicher:

display_errors = On 
error_reporting = E_ALL 

oder

display_errors = On 
error_reporting = E_ALL | E_STRICT 

Auch bei diesen auf, manchmal ein out-of-Memory-Fehler eine leere Seite verursachen kann.

0

Set php.ini error_reporting auf E_ALL

display_error = On 
error_reporting = E_ALL 

Sie können dies auch in Ihrem Code tun.

error_reporting(E_ALL); 

oder

ini_set('error_reporting', E_ALL); 

können Sie mehr über error reporting here.

0

Im Entwicklungsprozess lesen Sie sollten immer gesetzt den error reporting auf die höchste Stufe (E_ALL/E_STRICT) berichtet jeden Fehler zu bekommen.

+0

Was ist der Grund für die Abstimmung unten? – Gumbo

0

Ich habe mit diesem für eine Weile zu kämpfen (Schüler lernen PHP in einigen meiner Klassen), weil ich

versucht mit
ini_set('display_errors', 1); 

wie vorgeschlagen (zB Ullmanns PHPv6 und MySQL 5), aber setzen es in Ihr Code hat keine Parse-Fehler gefunden. Stattdessen sah ich weiterhin leere Seiten.

A comment in den PHP Manual Web-Seiten hat wie mir einen Hinweis gegeben, warum

display_errors = On 

in php.ini Einstellung ist nicht ganz dasselbe wie

ini_set('display_errors', 1); 

an der Spitze der Zugabe Ihres PHP-Skript. Es scheint, dass PHP eine 2-phasige Operation hat und die Skriptdatei vollständig analysiert, bevor sie mit der Ausführung beginnt. Wenn das Parsen aufgrund eines fehlenden ";" oder ")", dann wird die

ini_set('display_errors', 1); 

geparst aber nie ausgeführt und so der Parse-Fehler nicht gemeldet. Derselbe Kommentar bietet eine Möglichkeit, Parse-Fehler zu melden, wenn Sie nicht die Möglichkeit haben, die php.ini-Einstellungen zu ändern.