Estoy en alojamiento compartido y tengo Cpanel, Apache, PHP ejecutado por fastcgi. ¿Dónde almacena PHP el registro de errores?
¿Hay alguna otra manera de encontrar el registro de errores en el entorno de alojamiento compartido en lugar de tener que revisar toda la estructura del sitio para buscar archivos error_log?
Tengo acceso a php.ini
(estoy usando PHP versión 5.2.16).
error-handling
php
PHPLOVER
fuente
fuente
/var/log/httpd/error_log
o/var/log/apache2/error.log
. Estos archivos son propiedad de root, por lo que debe ser root o usarsudo
para verlos o leerlos.php --info | grep error
php --info | findstr /r /c:"error_log"
para ver dónde está el archivo de registro.Respuestas:
PHP almacena registros de error
/var/log/apache2
si PHP es un módulo apache2. Los hosts compartidos a menudo almacenan archivos de registro en la/log
subcarpeta del directorio raíz . Pero ... si tiene acceso a unphp.ini
archivo, puede hacer esto:Según el comentario de rinogo : si está utilizando cPanel, el archivo de registro maestro que probablemente esté buscando se almacena (de forma predeterminada) en
Si todo lo demás falla, puede verificar la ubicación del archivo de registro utilizando
fuente
/usr/local/apache/logs/error_log
<?php phpinfo(); ?>
para confirmar la rutaPruebe
phpinfo()
y verifique "error_log"fuente
echo ini_get('error_log');
?error_reporting(E_ALL|E_STRICT);
se.php.net/manual/en/function.error-reporting.phpLinux
El terminal generará la ubicación del registro de errores.
Ventanas
El símbolo del sistema generará la ubicación del registro de errores
Para establecer la ubicación del registro
Abra su
php.ini
y agregue la siguiente línea:Gracias @chelmertez , @Boom por estos (comentarios sobre la pregunta).
fuente
php -info
algo?php
php.ini
, y conjuntoerror_reporting
aE_ALL & ~E_DEPRECATED & ~E_STRICT
, o lo que los errores que usted quiere ver, a continuación, establecererror_log
la ruta de acceso al directorio en el que desea que sus errores de sesión de usuario. (Nota: esta no es una ruta completa a un archivo, solo a un directorio).php --info | grep log
me apuntó hacia / var / www / logs donde se encontraban los registros más recientes.sudo /etc/init.d/apache2 restart
En un entorno LAMP, los errores de php se dirigen por defecto a este archivo a continuación.
Todos los registros de acceso se encuentran en:
fuente
Cómo encontrar su registro de errores de PHP en Linux:
Otra forma equivalente:
fuente
Parece que, por defecto, php no registra errores en ninguna parte, el
error_log
clave en php.ini se comenta en todas las instalaciones que he visto.Generalmente yo:
locate php.ini
.Busque en estos archivos el
error_reporting
valor;Que debe establecerse en cualquier combinación de niveles de registro de php que sea suficiente para usted. ,
P.ej:
E_ALL & ~E_DEPRECATED & ~E_STRICT
Verifique el
error_log
valor para asegurarse de que apunta a un lugar real y no está comentado.El valor predeterminado no proporciona una ruta completa, solo un nombre de archivo, no sé dónde se resuelve esta ruta normalmente. Probablemente
/var/log/
.fuente
Debe usar la ruta absoluta al configurar la variable error_log en su archivo php.ini, de lo contrario, los registros de errores se almacenarán de acuerdo con su ruta relativa.
Otra solución sería escribir un script simple que enumere todos los archivos de registro de errores del árbol de directorios.
fuente
También puede ser
/var/log/apache2/error.log
si estás en Google Compute Engine.Y puedes ver la cola así:
fuente
Si ha compilado Apache y PHP desde la fuente, entonces los registros de error se generan por defecto en su
${Apache install dir}/logs/error_log
ie, generalmente/usr/local/apache2/logs/error_log
. De lo contrario, si lo ha instalado desde el repositorio, lo encontrará en/var/log/apache2/error_log
. Puede configurar la ruta en suphp.ini
también y verificarlo invocandophpinfo()
.fuente
La mejor manera es buscar en su archivo httpd.conf y ver cuál es el valor predeterminado. También podría ser anulado por su host virtual específico. Empiezo mirando
/etc/httpd/conf/httpd.conf
o/etc/apache2/httpd.conf
y busco error_log. Puede aparecer como / var / log / httpd / error_log o/var/log/apache2/error_log
también puede aparecer como simplementelogs/error_log
.En este caso, es una ruta relativa, lo que significa que estará debajo
/etc/httpd/logs/error_log
. Si aún no puede encontrarlo, verifique la parte inferior de su archivo httpd.conf y vea dónde están incluidos sus hosts virtuales. Puede estar en /etc/httpd/conf.d/<- como "otro" o "extra". Su host virtual podría anularlo luego con ErrorLog "/ ruta / a / error_log".fuente
Al configurar su archivo de registro de errores en php.ini, puede usar una ruta absoluta o una ruta relativa. Una ruta relativa se resolverá en función de la ubicación de la secuencia de comandos generadora, y obtendrá un archivo de registro en cada directorio en el que tenga secuencias de comandos. Si desea que todos sus mensajes de error vayan al mismo archivo, use una ruta absoluta para el archivo.
Ver más aquí: http://www.php.net/manual/en/ref.errorfunc.php#53025
fuente
NGINX generalmente lo almacena en /var/log/nginx/error.log o access.log. (En Ubuntu en cualquier caso)
fuente
Esto es útil. comentado por sjas en cuestión. así que lo incluí como respuesta.
fuente
Si usa el registro de php5-fpm, el valor predeterminado debe estar en
fuente
donde lo desee, si configura su función, llame a: error_log ($ errorMessageforLog. "\ n", 4, 'somePath / SomeFileName.som');
fuente
Busque el archivo httpd.conf
ErrorLog
ejecutándolocat <file location> | grep ErrorLog
en la línea de comando. Por ejemplo:Salida:
Encuentra la línea que comienza
ErrorLog
y ahí está tu respuesta.Nota: Para los hosts virtuales, puede editar el archivo de hosts virtuales
httpd-vhosts.conf
para especificar una ubicación de archivo de registro diferente.fuente
Los registros de errores de cPanel se encuentran en:
Por defecto, los registros de Apche se encuentran dentro de:
o
Si alguien usa una ubicación de registro personalizada, puede verificarla ejecutando este comando:
Si recibe un error de que el directorio apache2 no existe, puede ejecutar este comando para encontrar la ubicación correcta:
o
fuente
fuente
Está en un entorno compartido y no puede encontrar el registro de errores, siempre verifique si cPanel tiene la opción Errores en su panel de cPanel. Si no puede encontrar el registro de errores, puede encontrarlo allí.
En la barra de búsqueda de cPanel, busque Error, mostrará Páginas de error que son básicamente listas de diferentes páginas de error http y otro Error es donde se muestran los registros de error.
Otros lugares para buscar en un entorno compartido: / home / yourusername / logs / home / yourusername / public_html / error_log
fuente
algo como esto :
o
o
fuente
Wordpress
Wordpress dirigirá los
error_log()
mensajes a/wp-content/debug.log
cuandoWP_DEBUG_LOG
esté establecido en verdadero.Consulte la documentación de Wordpress para WP_DEBUG_LOG
fuente