Pregunta

Me preguntaba si alguien sabía de un método para configurar apache para volver a caer a la devolución de una página HTML estática, debe (Apache) ser capaz de determinar que PHP ha muerto?Esto podría proporcionar el desarrollador con una solución elegante para mostrar una página de error y no (en el peor de los casos) el código fuente de la página PHP que debería haber sido ejecutado.

Gracias.

¿Fue útil?

Solución

El código fuente de PHP sólo se muestra cuando el apache no está configurado correctamente para manejar archivos de php.Es decir, cuando un adecuado controlador no ha sido definida.

Sobre los errores, lo que se muestra puede ser configurado en php.ini, principalmente el display_errors variable.Que debe estar desactivado y log_errors on en un entorno de producción.

Si php muere realmente, apache volverá el correspondiente código de estado HTTP (generalmente de 500) con la página definida por la directiva ErrorDocument.Si no murió, pero quedó atascado en un bucle, no hay mucho que se puede hacer como lo que yo sé.

Puede especificar una página de códigos de error diferentes.

Otros consejos

Quiero suponer que esto por lo general resulta en un error 500, y usted puede configurar los apaches 500 controlador para mostrar una página estática:

ErrorDocument 500 /500error.html

Usted también puede leer acerca de los controladores de error en los apaches sitio de documentación de

El verdadero problema es que PHP errores fatales no hacer que Apache de retorno de 500 código.Los errores excepto para E_FATAL y E_PARSE puede ser manejado sin embargo le gusta usar set_error_handler().

Hay 2 maneras de usar PHP y Apache.

1. Install PHP as an Apache module: this way the PHP execution is a thread inside the apache process. So if PHP execution fails, then Apache process fails too. there is no fallback strategy.

2. Install PHP as a CGI script handler: this way Apache will start a new PHP process for each request. If the PHP execution fails, then Apache will know that, and there might be a way to handle the error.

independientemente de la forma de instalar PHP, cuando PHP ejecución no puede controlar los errores en la php.ini archivo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top