Pourquoi ne pas en PHP 5.2.14 afficher toutes les erreurs (même à partir de la ligne de commande)?
J'ai PHP 5.2.10 et PHP 5.2.14 (x86 non thread-safe Win32 construit) installé sur un ordinateur Windows server 2008 R2 et Windows 7 64 bits.
Pour quelque raison PHP 5.2.14 refuse d'afficher les messages d'erreur.
Même lorsque j'ai mis les paramètres suivants dans php.ini
je ne reçois pas toutes les erreurs signalées si j'utilise 5.2.14:
error_reporting = E_ALL
display_errors = On
Cela se produit même lors de l'exécution d'un script de test à partir de la ligne de commande à l'aide de php.exe
avec une volonté d'erreur de syntaxe:
c:\php>
php test.php
PHP en utilisant la bonne php.ini
fichier parce que je peux voir mes paramètres de changement quand je lance php.exe -i
.
Je remarque aussi que php.exe
en PHP 5.2.14 est très lent à démarrer.
Lorsque j'effectue la même série de tests à l'aide de PHP 5.2.10 sur les mêmes machines que j'obtiens des messages d'erreur signalé l'amende juste.
À la fois de la php.ini
fichiers sont stocks (basé sur php.ini-recommended
), mais avec l' error_reporting
et display_errors
paramètres modifiés.
OriginalL'auteur Kev | 2010-09-29
Vous devez vous connecter pour publier un commentaire.
Vous pourriez avoir à activer
display_startup_errors
ainsi:Vous pouvez également essayer de peluches le fichier avec
c:\php>php -l test.php
pour tester les erreurs de syntaxe.display_startup_errors
réglé à off, ce qui semblait causer des erreurs d'analyse pour être avalé. Merci beaucoup.En fait...à étudier plus tard. Quelqu'un a mis des guillemets autour de la
error_reporting
valeur des indicateurs. C'est la véritable cause. c'est à dire -error_reporting = "E_ALL & ~E_NOTICE"
.OriginalL'auteur Gordon
J'ai trouvé cela vraiment ennuyeux, voici donc une stratégie pour la vérification de la syntaxe à partir de la CLI:
php -n -l -d display_errors -d display_startup_errors path/to/your/phpfile.php
OriginalL'auteur Gunnarsson
Je suis en cours d'exécution ultérieure PHP (5.4.24), mais ces autres réponses manquent de
-d
j'ai trouvé illustrée ailleurs qui rend PHP affichage de l'intelligible, l'analyse des erreurs lors de l'exécution de la cli:C'est la meilleure réponse à la question, j'ai été googler. L'exécution de l'linter avec
-l
ne vous raconte pas les "Erreurs d'analyse foo.php"alias phprun="php -d display_errors"
OriginalL'auteur Nathan
dernièrement, j'ai eu à travailler sur un autre projet... de ne Pas être en mesure de debug, je n'avais pas le choix mais pour vérifier cela : "error_reporting(0);"
Donc, vérifiez votre code source. La recherche de quelque chose comme ceci : "error_reporting(0);".
Une fois que vous avez trouvé, en commentaire !!!
Normalement, vous n'avez pas à mettre dans le code source, mais dans le php.ini.
@+
OriginalL'auteur Martin