Ich habe PHP 5.2.10 und PHP 5.2.14 (x86 nicht threadsafe Win32 Builds) auf einem Windows 2008 R2 Server und auf Windows 7 64 Bit installiert.Warum zeigt PHP 5.2.14 keine Fehler an (auch nicht über die Befehlszeile)?
Aus irgendeinem Grund weigert sich PHP 5.2.14, Fehlermeldungen anzuzeigen.
Selbst wenn ich die folgenden Einstellungen in php.ini
gesetzt bekommt ich keine Fehler gemeldet, wenn ich 5.2.14 verwenden:
error_reporting = E_ALL
display_errors = On
Dies geschieht auch dann, wenn ein Testskript von der Kommandozeile ausgeführt wird unter Verwendung von php.exe
mit ein bewusster Syntaxfehler:
c:\php>
php test.php
PHP die richtige php.ini
Datei verwendet, weil ich meine Einstellungen ändern sehen kann, wenn ich php.exe -i
laufen.
Ich merke auch, dass php.exe
in PHP 5.2.14 sehr langsam zu starten ist.
Wenn ich die gleiche Reihe von Tests mit PHP 5.2.10 auf den gleichen Maschinen ausführen, bekomme ich Fehlermeldungen gut gemeldet.
Beide der php.ini
Dateien sind Lager (basierend off von php.ini-recommended
), aber mit den error_reporting
und display_errors
Einstellungen geändert.
Sie lernen jeden Tag etwas Neues. Es stellte sich heraus, dass PHP nicht in der Lage war, eine SQLite3-Erweiterung zu laden, da die Erweiterung pdo.dll (ist davon abhängig) nicht unkommentiert wurde. Wenn 'display_startup_errors' auf 'off' gesetzt war, schien dies Parsingfehler zu verschlingen. Vielen Dank. – Kev
Eigentlich ... weiter untersuchen. Jemand hat den "error_reporting" Flags-Wert in Anführungszeichen gesetzt. Das ist der wahre Grund. d. h. "error_reporting =" E_ALL & ~ E_NOTICE "". – Kev