2012-07-31 10 views
18

He configurado una nueva instalación de Ubuntu Server 12.04 LTS en Amazon AWS con * Apache2/MySQL/PHP5. Cuando ejecuto un script PHP y se encuentra con un error no veo ningún informe de errores de PHP, todo lo que veo esPHP no muestra errores - Error interno del servidor (500)

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

He comprobado mi archivo /etc/php5/apache2/php.ini y por lo que yo puedo decir el informe de errores debe ser preparar. El contenido del archivo (con respecto a los errores) es:

; 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 

¿Alguien puede aconsejar? Si intento algo como $obj = new ObjectDoesntExist; no me dice Fatal error: Class 'ObjectDoesntExist' me da un error de servidor 500.

¿Algún consejo?

* Los módulos que he instalado son: mysql-server mysql-client apache2 php5 libapache2-mod-php5 phpmyadmin. Aparte de eso, es totalmente una instalación base de Ubuntu Server 12.04 LTS

EDIT: Si uso ini_set('display_errors', '1'); al comienzo de mi script que muestra los errores de forma normal, pero cómo lo activo este sitio de ancho?

+0

¿Ve algo en error_log si su servidor apache? Parece que mode_php simplemente no funciona. ¿Un archivo php con solo ' 'dar salida? – favoretti

+0

ha verificado los registros de error de apache '/ var/log/apache2/error.log'? – Kalpesh

+2

Todas esas líneas en su php.ini están comentadas. Encuentre dónde se declara 'display_errors' y enciéndalo. –

Respuesta

14

El fragmento php.ini que pegó tiene un punto y coma (el; carácter) en cada línea. El punto y coma es el comienzo de un comentario en php.ini, por lo que no se usa todo en una línea que siga un punto y coma. Intente configurar manualmente display_errors en on y error_reporting en E_ALL, o elimine los puntos y comas adecuados para corregir esto.

Además, verifique el registro de errores de su apache, php podría estar registrando sus errores allí.

+0

He descomentado el ';' del fragmento que publiqué arriba y configuré 'display_errors = On' y' display_startup_errors = On' donde los encontré en el archivo 'php.ini' pero sigue siendo el mismo problema? – iainjames88

+1

¿Reinició apache después de realizar los cambios en su php.ini? ¿Algún error en el registro de errores de apache? – Wouter

+2

Reinició Apache mientras esperaba su respuesta y eso lo resolvió. ¡Siéntete un poco tonto por no haber hecho eso originalmente! Gracias por la ayuda :) – iainjames88

0

Tuve el mismo problema pero no relacionado con php.ini si tiene el mismo error, antes de comenzar a cortar el servidor, primero verifique su código. Error puede ser una falta}) o; o algo así. esto es solo referencia qué hacer primero.

2

edite el archivo php.ini utilizando sudo gedit /etc/php5/apache2/php.ini y en Production Value, o también puede usar ini_set ('display_errors', '1'); en la parte superior de su archivo php

Cuestiones relacionadas