El archivo debug.log no se crea nunca

15 mar 2018, 21:09:24
Vistas: 23.9K
Votos: 7

Es la primera vez que veo esto. En un proyecto en el que estoy trabajando, intenté activar el modo de depuración de WordPress para ver los registros. Incluso si activo debug_log en wp-config.php, el archivo debug.log nunca se crea en /htdocs/wp-content/

wp-config.php

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

@ini_set('display_errors',0);

define('SCRIPT_DEBUG', true);

permisos del directorio wp-content

permisos del directorio wp-content en WordPress

load.php

if ( WP_DEBUG_LOG ) {
    ini_set( 'log_errors', 1 );
    var_dump( WP_CONTENT_DIR . '/debug.log' );
    // muestra correctamente esto => "/htdocs/wp-content/debug.log";
    ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
}
8
Comentarios

La capacidad de escritura de esa carpeta depende del servidor, no solo del chmod, sino también de la propiedad de la carpeta. Dicho esto, parece que estás en un VPS, ¿por qué no usas simplemente los registros de errores de PHP?

Tom J Nowell Tom J Nowell
15 mar 2018 21:27:36

@Tom J Nowell Estoy usando el plugin debug log para ver los registros en el administrador de WordPress. Estoy intentando rastrear con error_log() qué archivos se cargan realmente en un proyecto roto de un cliente. Este plugin necesita este archivo. Entonces... ¿Debería hablar con mi cliente para cambiar los permisos de wp-content en el lado del servidor?

J.BizMai J.BizMai
15 mar 2018 21:35:08

Mmm, eso suena como un enfoque no óptimo, ¿no puedes ejecutar el sitio localmente? Entonces podrías ejecutarlo y ver los registros de errores de PHP en tiempo real, o usar un depurador

Tom J Nowell Tom J Nowell
15 mar 2018 21:42:15

Estoy esperando el acceso a la base de datos para copiar todos los datos y trabajar en localhost.

J.BizMai J.BizMai
15 mar 2018 21:53:29

Es una forma muy antigua y subóptima de depurar, el código es muy viejo, y hay formas mucho mejores de hacerlo, especialmente en un entorno local donde puedes usar un depurador real. ¿No están disponibles los registros de errores de PHP? Todo lo que hace WP_DEBUG_LOG es cambiar la ubicación de los archivos de registro

Tom J Nowell Tom J Nowell
15 mar 2018 21:54:28

Entonces, ¿cuál es la mejor práctica para hacer esto? ¿Tienes algún enlace?

J.BizMai J.BizMai
15 mar 2018 22:10:43

Continuemos esta discusión en el chat.

J.BizMai J.BizMai
15 mar 2018 22:34:07

obtuve logs en c:/wamp64/logs/xdebug.log

dileesha abilash dileesha abilash
11 jul 2024 17:53:55
Mostrar los 3 comentarios restantes
Todas las respuestas a la pregunta 2
2
11

Encontré el problema. En el servidor Apache, dentro del php.ini, la variable...

track_errors = Off

Para obtener esta información, puedes hacer en un archivo PHP phpinfo();. Entonces, para escribir el archivo de registro de depuración, necesitas configurar track_errors como 'On'.

19 abr 2018 19:21:16
Comentarios

Esto solo almacena el último error en una variable php que puedes usar posteriormente para programar de alguna otra manera. Esto no activa el registro.

Mike Kormendy Mike Kormendy
5 jun 2020 06:37:14

Tuve el mismo problema que describiste arriba, y cambiar esto no ayudó a solucionar mi problema. Más que eso, en un sitio que sí crea y escribe en debug.log, el valor de esta constante está desactivado.

neoswf neoswf
7 feb 2022 15:26:09
0

Ninguna de las soluciones anteriores funcionó para mí.

Así que ejecuté phpinfo() y descubrí que en mi máquina error_log = /var/log/php-fpm/www-error.log y finalmente pude ver el error. En mi caso, un script estaba excediendo los 30 segundos permitidos de tiempo de ejecución.

¡Así que usa phpinfo() y descubre dónde se almacenan tus registros de errores!

23 nov 2022 12:52:49