No deseo que se muestren los errores PHP
/html, pero quiero que se muestren en /html/beta/usercomponent
. Todo está configurado para que los errores no se muestren en absoluto. ¿Cómo puedo obtener errores para que aparezcan en esa única carpeta (y sus subcarpetas)?¿Cómo puedo activar los errores de PHP que se muestran solo en una subcarpeta?
Respuesta
En .htaccess
:
php_value error_reporting 2147483647
Este número, según la documentación debería permitir a 'todos' los errores, independientemente de la versión, si quieres un entorno más granular, de forma manual o los valores juntos, o ejecutar
php -r 'echo E_ALL | E_STRICT ;'
para que php calcule el valor por usted.
Usted necesita
AllowOverride All
en la configuración maestra apaches para que los archivos .htaccess.
Más lectura sobre esto se puede encontrar aquí:
Aviso Si está usando PHP-CGI en lugar de mod_php , esto puede no funcionar como se anuncia, y lo único que conseguirá es un error interno del servidor, y se le dejó sin mucha opción diferente a lo que le de todo el sitio, ya sea sobre una base per-guión con
error_reporting(E_ALL | E_STRICT);
o similares construcciones antes del error ocurre.
Mi consejo es desactivar mostrando errores para el usuario, y utilizar la característica error_log de php.
display_errors = 0
error_logging = E_ALL | E_STRICT
error_log = /var/log/php
Si tiene problemas con este ser demasiado ruidoso, esto no es una señal de que necesita para tomar sólo el informe de errores de forma selectiva, esto es un signo de que alguien debe fijar el código.
@Roger
Sí, se puede usar en un <
construcción en la configuración apaches también, sin embargo, el .htaccess en este caso es equivalente, y hace que sea más portátil especialmente si tener varias copias de comprobación de trabajo de la misma base de código y desea distribuir este cambio a todas ellas. Directorio>
Si usted tiene múltiples hosts virtuales, querrá el constructo en la respectiva definición hosts virtuales, de lo contrario, sí
<Directory /path/to/wherever/on/filesystem>
<IfModule mod_php5.c>
php_value error_reporting 214748364
</IfModule>
</Directory>
El adicional "IfModule" comandos son sólo una red de seguridad por lo que el problema anterior con apache muriendo si no tienes mod_php no ocurrirá.
Oye, lo siento, me estoy acostumbrando a este sistema. Estoy tratando de hacerlo en el archivo httpd.conf si es posible. Se vería eso como
Como nota aquí, en caso de que alguien más esté buscando cómo activar los errores de PHP-CGI: ahora puede (a partir de PHP 5.3) usar archivos .user.ini por directorio que funcionan de una manera muy similar a los archivos htaccess .Pero en lugar de escribir 'php_flag display_errors on' pones' display_errors = on'. Más información aquí: http://php.net/manual/en/configuration.file.per-user.php – PaulSkinner
También tenga en cuenta, como se dice en los comentarios de esa página: "los cambios pueden tardar un tiempo en propagarse a todos procesos si tiene un largo tiempo de espera de proceso ". Sé paciente. – PaulSkinner
No creo que haya una respuesta simple a este
, pero ciertamente me gustaría que se demuestre que está mal.
editar: resulta que esto se puede controlar desde archivos .htaccess. ¡Gracias gente! :)
Puede usar error_reporting() http://docs.php.net/manual/en/function.error-reporting.php para cambiar la configuración en un script por script. Si tiene un solo script que se incluye cada vez en/html/beta/usercomponent, esto hará el truco.
La manera más fácil sería controlar el informe de errores desde un archivo .htaccess. Pero esto supone que está utilizando Apache y los scripts en/html/beta/usercomponent se invocan desde ese directorio y no se incluyen desde ningún otro lugar.
Htacess
php_value error_reporting [int]
Usted tendrá que componer el valor entero a sí mismo de la lista como se describe en la documentación error_reporting, ya que las constantes como E_ERROR no se definen cuando se interpreta el Apache .htaccess.
Es una bandera bit a bit simple, por lo que un valor de 12, por ejemplo, sería E_WARNING + E_PARSE + E_NOTICE.
puede hacerlo utilizando una variable de entorno. De esta forma, puede tener más opciones que solo activar/desactivar la generación de informes de errores para un directorio especial. en su código donde quiera que quiera cambiar cualquier comportamiento para un conjunto específico de directoris, o modos de ejecución, verifique si una variable de entorno está configurada o no. de esta manera:
if ($_ENV['MY_PHP_APP_MODE'] == 'devel') {
// show errors and debugging info
} elseif ($_ENV['MY_PHP_APP_MODE'] == 'production') {
// show some cool message to the user so he won't freak out
// log the errors and send email to the admin
}
y cuando se está ejecutando la aplicación en su entorno de desarrollo, se puede establecer una variable de entorno en el archivo .htaccess así:
setenv MY_PHP_APP_MODE devel
o cuando se encuentre en la producción EVN :
setenv MY_PHP_APP_MODE production
la misma técnica se aplica a su situación. en directorios en los que desea hacer algo especial (activar reportes de errores) configure alguna variable env y en su código, verifique eso.
- 1. Spring 3 MVC - formulario: errores que no muestran los errores
- 2. ¿Cómo se muestran los errores de PHP en la salida del código?
- 3. PHP: ya no se muestran los errores de sintaxis (página en blanco)
- 4. Texturas que solo se muestran en algunos dispositivos
- 5. MVC 3 Errores personalizados que no se muestran
- 6. ¿Cómo se muestran los resultados de phpcs en VIM?
- 7. En Mongo, ¿cómo se muestran los índices de una colección?
- 8. jQuery Validation: ¿Cómo no mostrar los errores? O ¿Cómo se muestran los errores como información sobre herramientas?
- 9. ¿Cómo se muestran los campos en una tabla en Oracle?
- 10. ¿Cómo puedo clonar una subcarpeta de un repositorio en Mercurial?
- 11. ¿Cómo puedo filtrar solo los elementos de una lista que se encuentra en una posición pareja?
- 12. ¿Cómo se muestran los errores de validación usando la redirección en codeigniter?
- 13. ¿Cómo se muestran los índices de NA?
- 14. ¿Cómo se muestran los errores de validación de un modelo asociado en Rails?
- 15. Powershell: ¿Cómo puedo evitar que los errores se muestren en un script?
- 16. ¿Puedo activar un punto de interrupción en los errores de OpenGL en Xcode 4?
- 17. ¿Cómo se muestran solo los primeros 10 caracteres de una cadena usando CSS?
- 18. ¿Cómo cierro todos los almacenamientos intermedios que no se muestran en una ventana en vim?
- 19. ¿Cómo activar una función una vez, y solo una vez ...?
- 20. ¿Por qué los navegadores muestran errores feos para los certificados SSL que no son de confianza?
- 21. ¿Cómo se muestran los archivos sin seguimiento solo en el directorio actual (ignorando los subdirectorios)?
- 22. ¿Cómo se usan los controles de usuario en asp.net mvc que muestran una "isla" de datos?
- 23. No se muestran errores de enlace en la ventana de resultados
- 24. Forzar que se muestren todos los errores en Xcode
- 25. Errores de pepino suprimidos (no se muestran por completo)
- 26. Registro de errores de aviso de PHP
- 27. Los mensajes de error Boost.Test ya no se muestran en la lista de errores de VS2010
- 28. Servidor de producción PHP: activar los mensajes de error
- 29. plUpload - Errores del lado del servidor que no muestran
- 30. Habilitar la visualización de errores en php a través de htaccess solo
Si todo lo demás falla, 'set_error_handler (" var_dump ");'. A pesar de los errores de sintaxis en el script de invocación, todo debe ser configurado a través de php.ini/.htaccess/.user.ini de antemano. – mario