Comment puis-je afficher les détails d'un PHP erreur interne du serveur?
J'ai installé une application PHP sur un serveur d'hébergement web partagé. Je suis un 500 Internal Server Error
. Je ne semblent pas avoir accès à tous les fichiers journaux, donc je voudrais que la page d'erreur de donner temporairement les détails de l'erreur.
Je sais comment le faire dans ASP.Net mais je ne suis pas familier avec PHP.
Vous devez vous connecter pour publier un commentaire.
essayer:
en haut du fichier.
Si Jeremy Morgan solution ne fonctionne pas, essayez de créer votre propre fichier journal à l'aide
set_error_handler()
. Généralement quelques informations sur l'état de l'application ($GLOBALS et ainsi de suite) peuvent être suffisamment d'informations, mais PHP (au moins essayer) de vous passer toutes sortes d'informations sur l'endroit où l'erreur s'est produite et de quel type d'erreur il est.Aussi, essayez d'utiliser le "Diviser Et Conquérir" méthode de débogage. Commencez avec environ la moitié de votre fichier, puis développez la hausse si ça plante toujours ou à la baisse, s'il s'umtil ce point. Si vous ne souhaitez pas supprimer votre code, soit
/* comment out */
le code à couper, ou utiliser le__halt_compiler()
spéciaux directive PHP ignorer toutes les autres données dans le fichier.Enfin, une chose qui m'a rendu fou d'essayer de les corriger c'est ce qu'on appelle un Marque D'Ordre D'Octet. PHP a été évalué que la MOB au début du fichier, à l'origine pour envoyer la sortie, et de causer des problèmes, tout en essayant d'envoyer des en-têtes et la comme. Probablement pas ce que votre problème est, mais la connaissance de la valeur.
Je doute que vous obtenez cette erreur de PHP. Sur l'hébergement mutualisé, il est plus probable que l'application par défaut .htaccess config est à l'origine de l'erreur.
Ma conjecture serait un mod_rewrite sans
RewriteBase
ensemble..htaccess
est généralement de mon premier coupable lors du débogage, mais il n'a jamais dit qu'il était à l'aide d'Apache.considérer les valeurs de
phpinfo();
pour voir si tout colle... le mettre quelque part dans le code et il doit afficher un tas de version de php informationsUne "Erreur Interne du Serveur" n'est pas une erreur PHP (comme le nom le dit). Donc, vous avez à regarder vos logs du serveur (que vous n'avez pas accès, car il me semble) ou vous ne pouvez pas faire quoi que ce soit à partir de PHP.