Ho PHP 5.2.10 e PHP 5.2.14 (build x32 non-threadsafe Win32) installato su un server Windows 2008 R2 e su Windows 7 a 64 bit.Perché PHP 5.2.14 non visualizzerà alcun errore (anche dalla riga di comando)?
Per qualche motivo PHP 5.2.14 si rifiuta di mostrare messaggi di errore.
Anche quando ho impostato le seguenti impostazioni nel php.ini
Non c'è niente di errori segnalati se uso 5.2.14:
error_reporting = E_ALL
display_errors = On
Ciò accade anche quando si esegue uno script di test dalla riga di comando utilizzando php.exe
con un errore di sintassi deliberata:
c:\php>
php test.php
PHP utilizza il file corretto php.ini
perché posso vedere le mie impostazioni cambiano quando corro php.exe -i
.
Inoltre noto che lo php.exe
in PHP 5.2.14 è molto lento all'avvio.
Quando eseguo lo stesso set di test utilizzando PHP 5.2.10 sulle stesse macchine, i messaggi di errore vengono visualizzati correttamente.
Entrambi i file sono php.ini
magazzino (in base al largo di php.ini-recommended
), ma con le error_reporting
e display_errors
impostazioni modificate.
si impara qualcosa di nuovo ogni giorno. Si scopre che PHP non è stato in grado di caricare un'estensione SQLite3 perché l'estensione pdo.dll (ha una dipendenza da questo) non è stata decommentata. Con 'display_startup_errors' impostato su off, sembrava che gli errori di parsing fossero ingoiati. Grazie mille. – Kev
In realtà ... indagando ulteriormente. Qualcuno ha messo le virgolette attorno al valore dei flag 'error_reporting'. Questa è la vera causa. i.e.-'error_reporting = "E_ALL & ~ E_NOTICE" '. – Kev