2010-02-19 24 views
8

Estoy ejecutando la última versión de MAMP en Snow Leopard.Ayuda de configuración de MAMP, mostrar errores de PHP

Mi archivo php.ini se ha configurado para mostrar errores. display_errors = on. El phpinfo(); La página muestra el estado de los informes de errores, está activado. He reiniciado mi servidor web varias veces.

He buscado en Google y no encuentro ningún problema similar. Todo el mundo dice que hagas exactamente lo que hice, pero no funciona. Las páginas quedarán en blanco, (sin informes), si coloco intencionalmente errores.

¿Alguna idea de cuál es el problema?

+0

¿Cómo resolverlo, tengo el mismo problema. :(Gracias – kai

Respuesta

28

Para cualquier pósters futuras, que se encuentra con este problema ...

que estaba teniendo el mismo problema y encontró que estaba haciendo cambios en los archivos php.ini equivocadas. Ejecute phpinfo y encuentre la ruta al archivo php.ini activo para asegurarse de que está editando el correcto.

En mi instalación de mamp hubo varias instancias del directorio/conf con archivos php.ini. Los archivos php.ini que necesitaba estaban ubicados en el directorio/bin/php/php [versión #]/conf y no en el directorio MAMP/conf.

Vía de acceso exacta al php.ini que necesitaba para editar:

Aplicaciones/MAMP/bin/php/php5.4.10/conf/php.ini

Cambio display_errors = Off a display_errors = On

+0

Esto también resolvió el mismo problema para mí. Muchas gracias – GhostRider

+4

Además, asegúrese de reiniciar el servidor cuando realice un cambio en el archivo php.ini. –

+0

Acceda a su página de información de PHP aquí: http: //XXXX/MAMP/index.php? Language = English & page = phpinfo –

5

Además de la directiva display_errors, que tiene que establecerse en On, puede que tenga que configurar error_reporting.

Por ejemplo, puede utilizar esto en su archivo php.ini:

error_reporting = E_ALL 


Otra debería, útil para poner a prueba, podría ser colocar este tipo de porción de código PHP en el comienzo de la secuencia de comandos:

error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 

Esto es útil cuando usted no tiene acceso a php.ini y/o simplemente desea probar rápidamente, sin tener que reiniciar el servidor web.


Como anotación al margen, cuando se trata de errores que muestran, la extensión Xdebug es realmente grande: cuando está instalado/activado/configurado, en lugar de sólo tener un mensaje de error, obtendrá la plena stack-trace, que es mucho más útil ;-)

+0

para usted publicar, lo aprecio! Desafortunadamente, todavía no está funcionando. Parece que algo está anulando todo? No tengo ni idea, alguna idea? –

0

Puede haber un archivo .htaccess en un directorio que anule la configuración display_errors establecida en php.ini. De su publicación, supongo que no agregó explícitamente esto, pero algunos marcos lo hacen de manera predeterminada, por lo que podrían agregarse de esa manera. Busque una línea como esta en su archivo .htaccess:

php_value display_errors 0 

y cambie el valor a 1.

+0

Hice una búsqueda en ese archivo y no hay ninguna línea que contenga ese comando ... –

1

recientemente he experimentado el mismo problema - en mi caso me había descargado sitio de Wordpress de un cliente de su vivo servidor que resultó haber sido alterado por la inserción de scripts maliciosos que anulaba el informe de errores para evitar la detección.

Un poco tarde para ayudar al OP (!), Pero quizás sea útil para futuros buscadores.

0

Si tiene varios SDK de PHP con varias versiones, primero asegúrate de que estás editando el archivo php.ini correcto. Si tenía razón, agregue estas dos líneas al comienzo del código.

error_reporting(E_ALL); 
ini_set('display_errors', 'On'); // or ini_set('display_errors', 1); 
0

Aquí hay un giro a la misma respuesta. Tuve los mismos problemas, simplemente copié y pegué la ruta de acceso de Ini desde la página de información de php y aún tuve los mismos problemas ...

resulta que cometí un error de sintaxis cuando edité mi bloque 'error_reporting' en php.ini.

Tuve E_NOTICE en lugar de ~ E_NOTICE.

:(

Así se pueden producir errores en el php.ini si estaba editando y totalmente olvidado edita algo.

Cuestiones relacionadas