En un entorno de producción siempre será necesario capturar los errores en algun tipo de log. PHP nos lo permite hacer de una forma muy sencilla.
Hay que tener en cuenta que en nuestro entorno de desarrollo nos es más útil que los errores que aparecen al ejecutar una aplicación PHP se muestren por pantalla, sin embargo, esto es peligroso en un entorno real de producción, puesto que estos registros suelen dar información detallada sobre datos de nuestro sistema.
Capturar todos los registros de errores PHP en un archivo
Para configurar los logs de error de PHP podemos modificar el archivo php.ini que se encarga de configurar opciones de PHP. Normalmente suele estar en /etc/php.ini
- nano /etc/php.ini
nano /etc/php.ini
Podemos usar cualquier editor que nos apetezca (vi, o si estás en entorno gráfico gedit, etc..)
Debemos buscar la línea donde aparezca la variable error_log descomentarla y añadir la ruta donde guardaremos el log. Por ejemplo:
- error_log = «/var/log/php_errors.log»
error_log = "/var/log/php_errors.log"
También hay que asegurarse que la variable log_errors está a On para que registre errores
- log_errors = On
log_errors = On
Y finalmente la variable display_errors a Off para que no se muestren los errores por pantalla
- display_errors = Off
display_errors = Off
Para que apache puedea escribir en ese fichero tiene que tener permisos. Podemos cambiar el owner del fichero /var/log/php_errors.log al usuario apache que suele ser el nombre de usuario que usa el servidor httpd
- chown apache /var/log/php_errors.log
chown apache /var/log/php_errors.log
O sino, también podemos cambiar los permisos para que se pueda escribir
- chmod 777 /var/log/php_errors.log
chmod 777 /var/log/php_errors.log
* Atención: Hay que ir con cuidado al asignar este último permiso, ya que en un servidor con múltiples usuarios podrían tener acceso.