web-dev-qa-db-fra.com

PHP ne pas afficher les erreurs - Erreur interne du serveur (500)

J'ai mis en place une nouvelle installation d'Ubuntu Server 12.04 LTS sur Amazon AWS avec * Apache2/MySQL/PHP5. Lorsque je lance un script PHP et qu'il rencontre une erreur, je ne vois aucune erreur rapportée par PHP. Tout ce que je vois, c'est

HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfil the request.

J'ai vérifié mon fichier /etc/php5/Apache2/php.ini et, autant que je sache, le rapport d'erreur doit être configuré. Le contenu du fichier (concernant les erreurs) est:

;    display_errors
;      Default Value: On
;      Development Value: On
;      Production Value: Off

;    display_startup_errors
;      Default Value: Off
;      Development Value: On
;      Production Value: Off

;    error_reporting
;      Default Value: E_ALL & ~E_NOTICE
;      Development Value: E_ALL | E_STRICT
;      Production Value: E_ALL & ~E_DEPRECATED

Quelqu'un peut-il conseiller? Si j'essaie quelque chose comme $obj = new ObjectDoesntExist;, il ne me dit pas Fatal error: Class 'ObjectDoesntExist', il me donne une erreur de serveur 500.

Un conseil?

* Les modules que j'ai installés sont: mysql-server mysql-client Apache2 php5 libapache2-mod-php5 phpmyadmin. Autre que cela, il s'agit d'une installation complètement base d'Ubuntu Server 12.04 LTS

EDIT: Si j’utilise ini_set('display_errors', '1'); au début de mon script, les erreurs s’affiche normalement, mais comment puis-je activer ce site dans son ensemble?

18
iainjames88

L'extrait de php.ini que vous avez collé a un point-virgule (le caractère;) dans chaque ligne. Le point-virgule est le début d'un commentaire dans le fichier php.ini. Par conséquent, tout ce qui se trouve dans une ligne suivant un point-virgule n'est pas utilisé. Essayez de définir manuellement display_errors sur on et error_reporting sur E_ALL ou de supprimer les points-virgules appropriés pour résoudre ce problème.

En outre, vérifiez le journal des erreurs de votre Apache, php pourrait consigner ses erreurs ici.

14
Wouter

modifiez le fichier php.ini en utilisant le fichier Sudo gedit /etc/php5/Apache2/php.ini et sur la valeur de production, ou vous pouvez également utiliser le ini_set ('display_errors', '1'); en haut de votre fichier php

2
user2779489

J'ai eu le même problème, mais sans lien avec php.ini Si vous avez la même erreur, avant de commencer à copier votre serveur, vérifiez d'abord votre code . ou quelque chose comme ça ... c'est juste pour savoir quoi faire en premier.

0
mandza