
Por razones de seguridad, la mayoría de los servidores web tienen la depuración de errores de PHP desactivada. Si esta estuviera activa, los posibles errores darían pistas, sobre la estructura del servidor web y sus correspondientes archivos, a cualquier posible atacante, pudiendo aprovechar cualquier agujero de seguridad, en el mismo, para entrar en el servidor.
Igualmente, en los sitios que están online, a disposición de los usuarios, no tiene mucho sentido que, ante algún fallo, éste se muestre al usuario, ya que éstos no necesitan conocer los errores que se ocasionen en el servidor, sino simplemente obtener un buen servicio por nuestra parte.
Cómo habilitar la depuración de errores en PHP en un entorno de pruebas
Activar la depuración de errores en PHP nos dará una información muy valiosa a la hora de realizar las pruebas sobre los desarrollos que realices en el servidor. Esto nos permitirá saber con detalle qué problemas está teniendo nuestro sistema, en vez de, simplemente, una pantalla de Error 500 – Error del servidor.
La activación la depuración de errores en PHP puede hacerse de distintas formas, dependiendo del nivel de acceso que tengamos sobre el servidor.
Activación de la depuración de errores en PHP mediante el archivo php.ini
Si tienes acceso al archivo de configuración php.ini de PHP, la forma de habilitar dicha depuración es a través de una directiva llamada display_errors. Para ello, simplemente busca la línea que contenga tal directiva, la cual aparecerá con un valor:
1 | display_errors = Off |
y modifícala a un valor:
1 | display_errors = On |
Una vez modificado, guarda el archivo.
Activación de la depuración de errores en PHP mediante el archivo .htaccess
Si trabajas en un servidor compartido, posiblemente no tengas acceso al archivo php.ini, por lo que la opción anterior no te será viable. Como alternativa, puedes hacerlo a través del archivo .htaccess. Este archivo contiene un conjunto de directivas a nivel global o a nivel de carpeta en la que se configuran parámetros de acceso, de URLs, etc.
Para realizar la activación, abre el archivo .htaccess de la carpeta donde tengas el archivo PHP, del cual quieres obtener la depuración, añade las siguientes directivas:
1 2 3 | php_flag display_startup_errors on php_flag display_errors on php_flag html_errors on |
Si es a nivel global, abre el archivo .htaccess que se encuentre en la carpeta raíz del sitio. Si este archivo no existe, simplemente crea uno nuevo con dichas directivas.
Activación de la depuración de errores en PHP mediante la adición de directivas directamente sobre el archivo PHP
Si los dos métodos anteriores no están dentro de tus posibilidades, debido a problemas de acceso o de cualquier otro ámbito, como última alternativa tenemos la posibilidad de añadir las siguientes líneas al principio del script PHP sobre el que estemos trabajando.
1 2 3 4 | <?php ini_set ( 'display_errors', 1 ); error_reporting ( E_ALL ); ?> |
Esta última opción no siempre funciona cuando el servidor está configurado con un nivel alto de seguridad. Puedes probarlo, ya que este puede no ser tu caso.
De alguna de estas tres formas puedes activar la depuración de errores en PHP pudiendo así revisar cualquier problema que pueda estar ocurriendo en tu servidor, y solventándolo antes de que el mismo se convierta en algo más grave, o en una brecha de seguridad.
