2011-05-25 25 views
84

Estoy probando un sitio web en línea.Habilitar la visualización de errores en php a través de htaccess solo

En este momento, los errores no se muestran (Pero sé que existen).

Tengo acceso solo al archivo .htaccess.

¿Cómo hago todos los errores para visualizar usando mi archivo .htaccess

EDITAR

añadí estas líneas a mi .htaccess:

php_flag display_startup_errors on 
php_flag display_errors on 
php_flag html_errors on 

y las páginas se muestran ahora

Pasante error

+0

he hecho algunas google, añade algunas banderas a mi htaccess; y mis páginas no pueden mostrarse de nuevo –

+3

Parece que no tiene los derechos para anular esta configuración de htaccess. Es posible que deba establecer 'AllowOverride All' en la configuración de Apache, si tiene acceso a eso. – kapa

+0

Verifique su registro de errores de apache. Tendrá que explicar por qué estás obteniendo el error interno de 500. Lo que ves en el navegador es, por diseño, inútil para fines de diagnóstico. –

Respuesta

150

.htaccess:

php_flag display_startup_errors on 
php_flag display_errors on 
php_flag html_errors on 
php_flag log_errors on 
php_value error_log /home/path/public_html/domain/PHP_errors.log 
+11

añadí estas líneas a mi htaccess: display_startup_errors php_flag en display_errors php_flag en html_errors php_flag sobre y las páginas muestran error interno del servidor –

+4

Cuando se usa PHP como un módulo de Apache, también puede cambiar los ajustes de configuración usando directivas en los archivos de configuración de Apache (ej. httpd.conf) y .htaccess archivos. Necesitará los privilegios "AllowOverride Options" u "AllowOverride All" para hacerlo. http://php.net/manual/en/configuration.changes.php – silex

+0

Crea el PHP_errors.log y hazlo de otra manera 777 probablemente no verás el archivo creado por apache y lleno ... al menos tuve que crearlo . – PJunior

-11

al servidor Si estamos hablando de errores de PHP, basta con añadir esta en la parte superior de su script:

error_reporting(E_ALL); 

EDIT: Si quiere decir que no se puede editar la secuencia de comandos, a continuación, se quiere necesita usar php_flag dentro de su archivo htaccess. Ver http://perishablepress.com/press/2007/12/17/how-to-enable-php-error-logging-via-htaccess/

+0

tengo muchas páginas para tratar, ¿no hay forma de realizar el cambio en todo el sitio a través de htaccess? –

+0

@Ogugua, lea mi edición. – user453441

+14

Te he votado porque parece que te has perdido el 'htaccess only' en el título, haciendo que tu respuesta sea inútil incluso con la edición. –

34
php_flag display_errors on 

para encender la pantalla real de errores en.

Para definir los tipos de errores que visualizas, tendrá que utilizar:

php_value error_reporting <integer> 

Combinado con los valores enteros de esta página: http://php.net/manual/en/errorfunc.constants.php

Nota Si utiliza -1 para el número entero , mostrará todos los errores y será a prueba de futuro cuando agreguen nuevos tipos de errores.

6

Siento que añadir más detalles a la respuesta existente:

# PHP error handling for development servers 
php_flag display_startup_errors on 
php_flag display_errors on 
php_flag html_errors on 
php_flag log_errors on 
php_flag ignore_repeated_errors off 
php_flag ignore_repeated_source off 
php_flag report_memleaks on 
php_flag track_errors on 
php_value docref_root 0 
php_value docref_ext 0 
php_value error_log /full/path/to/file/php_errors.log 
php_value error_reporting -1 
php_value log_errors_max_len 0 

Dale 777 o 755 permiso para el archivo de registro y luego agregue el código

<Files php_errors.log> 
    Order allow,deny 
    Deny from all 
    Satisfy All 
</Files> 

al final de .htaccess. Esto protegerá su archivo de registro. Estas opciones son adecuadas para el servidor de desarrollo. Para el servidor de producción, no debe mostrar ningún error al usuario final. Por lo tanto, cambie las banderas de visualización a apagado.

Para obtener más información, siga este enlace: Advanced PHP Error Handling via htaccess

0

Si desea ver los errores de ejecución única fatales:

php_value display_errors on 
php_value error_reporting 4 
Cuestiones relacionadas