Hoy te voy a mostrar una posible solución al problema de que PHP no muestra errores cuando se ejecuta en un servidor Linux (en mi caso fue con un derivado de Debian).
El problema es simple: PHP no muestra ningún error incluso aunque lo haya, es decir, no imprime ningún error en el navegador web, pero sabemos que el error debería estar ahí.
En otras ocasiones muestra un error 500 pero no muestra ningún mensaje explicativo.
Esto es debido a la seguridad y configuración de nuestro servidor. En varios casos se especifica que los errores no se muestren al usuario, sino que se guarden en un log.
Por lo tanto PHP no mostrará los errores, sino que los colocará en un archivo con extensión log.
De hecho no tiene que ver tanto con PHP, sino con Apache y su manejo de errores. Dado que la combinación de este software es la más popular veamos cómo ver los mensajes de error.
Como lo dije, normalmente esto pasa cuando usamos un servidor propio o VPS con Linux Ubuntu, Debian, etcétera; ya que si usamos Windows con XAMPP o un hosting compartido no hay problema.
El archivo que importa es el log de error de Apache ubicado normalmente en /var/log/apache2/error.log
Puedes usar cat
para mostrar todo el contenido, more
para leerlo poco a poco o mi favorito para estos casos: tail
(que solo muestra las últimas líneas del archivo, la “cola”)
En mi caso es:
tail /var/log/apache2/error.log
Con la siguiente salida en la que se observan los errores:
Nota que en algunos casos puede que necesites permisos de superusuario y el comando cambiaría a:
sudo tail /var/log/apache2/error.log
Por cierto, en ocasiones estos logs se comprimen y se guardan como gz en el mismo directorio, para tener el error.log
siempre “fresco” día con día; es decir, se respalda el del día y se crea uno nuevo.
No te preocupes, si quieres depurar un error recién hecho puedes consultar el log actual.
Finalmente recuerda que en mi caso usé tail
, puedes leer el archivo con otro comando si quieres. Incluso puedes usar un programa de interfaz gráfica en caso de que tengas acceso al mismo.
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Ayer estaba editando unos archivos que son servidos con el servidor Apache y al visitarlos…
Esta web usa cookies.