Question

J'utilise TextWrangler pour modifier le code PHP. Je rencontre souvent le problème suivant: le code s'affiche sous forme de page vierge dans mon environnement de développement. Y a-t-il un bon moyen de cibler davantage l'endroit où je devrais chercher le problème dans mon code?

Pour le moment, chaque fois que je rencontre ceci, je parcoure manuellement chaque ligne, mais je suppose qu'il existe une solution à ce problème dont je n'ai pas pu trouver le nom.

Était-ce utile?

La solution

Vous devez vous assurer que votre fichier de développement php.ini contient:

display_errors = On
error_reporting  =  E_ALL

ou

display_errors = On
error_reporting  =  E_ALL | E_STRICT

Même lorsque ces options sont activées, une erreur de mémoire insuffisante peut parfois générer une page vierge.

Autres conseils

Définissez le php.ini rapport_erreur sur E_ALL

display_error = On
error_reporting = E_ALL

Vous pouvez également le faire dans votre code.

error_reporting(E_ALL);

ou

ini_set('error_reporting', E_ALL);

Vous pouvez en savoir plus sur les rapports d'erreurs ici.

Dans le processus de développement, vous devez toujours définir le rapport d'erreurs au plus haut niveau ( < code> E_ALL / E_STRICT ) pour obtenir toutes les erreurs signalées.

Cela fait un moment que je suis confronté à ce problème (les étudiants apprennent le PHP dans certains de mes cours) parce que j'ai essayé d'utiliser

ini_set('display_errors', 1);

comme suggéré (par exemple, PHPv6 et MySQL 5 d'Ullman), mais le placer dans votre code n'a pas attiré d'erreur d'erreur. Au lieu de cela, j'ai continué à voir des pages vierges.

Un comment dans les pages Web du Manuel PHP m'a donné un indice quant à la raison pour laquelle la mise

display_errors = On 

dans php.ini n'est pas tout à fait la même chose que d'ajouter

<*>

en haut de votre script php. Il semble que PHP fonctionne en 2 phases et qu'il analyse complètement le fichier de script avant de commencer à l'exécuter. Si l'analyse échoue en raison d'une erreur "" ;; " ou ")", alors le

<*>

est analysé mais jamais exécuté. L’erreur d’analyse n’est donc pas signalée. Le même commentaire offre un moyen de signaler les erreurs d'analyse si vous n'avez pas le moyen de changer les paramètres de php.ini.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top