Il file debug.log non viene mai creato?

15 mar 2018, 21:09:24
Visualizzazioni: 23.9K
Voti: 7

È la prima volta che vedo questo problema. In un progetto su cui sto lavorando, ho provato ad attivare la modalità debug di WordPress per visualizzare i log. Anche se attivo debug_log in wp-config.php, il file debug.log non viene mai creato in /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);

permessi della directory wp-content

screenshot dei permessi della directory wp-content

load.php

if ( WP_DEBUG_LOG ) {
    ini_set( 'log_errors', 1 );
    var_dump( WP_CONTENT_DIR . '/debug.log' );
    // mostra correttamente questo => "/htdocs/wp-content/debug.log";
    ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
}
8
Commenti

La scrivibilità di quella cartella è specifica del server, e non dipende solo dai permessi chmod, ma anche dalla proprietà della cartella. Detto questo, sembra che tu sia su un VPS, perché non usare semplicemente i log degli errori di PHP?

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

@Tom J Nowell Sto usando il plugin debug log per vedere i log nell'admin di WordPress. Sto cercando di tracciare con error_log() quali file vengono effettivamente caricati in un progetto rotto di un cliente. Questo plugin ha bisogno di questo file. Quindi... Dovrei parlare con il mio cliente per modificare i permessi di wp-content lato server?

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

Mmm sembra un approccio non ottimale, non puoi eseguire il sito localmente? In questo modo potresti eseguirlo e monitorare i log degli errori PHP in tempo reale, o usare un debugger

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

Sto aspettando l'accesso al database per copiare tutti i dati e lavorarci in locale su localhost.

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

È un metodo molto vecchio e subottimale per il debug, il codex è datato, e ci sono modi molto migliori per farlo, specialmente in un ambiente locale dove puoi usare un debugger vero e proprio. I log degli errori PHP non sono disponibili? Tutto ciò che WP_DEBUG_LOG fa è cambiare la posizione dei file di log

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

Quindi qual è la best practice per farlo? Hai qualche link?

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

Continuiamo questa discussione in chat.

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

ho trovato i log in c:/wamp64/logs/xdebug.log

dileesha abilash dileesha abilash
11 lug 2024 17:53:55
Mostra i restanti 3 commenti
Tutte le risposte alla domanda 2
2
11

Ho trovato il problema. Nel server Apache, all'interno del php.ini, la variabile...

track_errors = Off

Per ottenere questa informazione, puoi utilizzare in un file PHP phpinfo();. Quindi, per scrivere il file di log di debug, devi impostare track_errors come 'On'.

19 apr 2018 19:21:16
Commenti

Questo memorizza solo l'ultimo errore in una variabile PHP che puoi poi utilizzare per script in qualche altro modo. Questo non attiva il logging.

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

Ho avuto lo stesso problema che hai descritto sopra, e cambiare questo non ha aiutato a risolvere il mio problema. Inoltre, su un sito che crea e scrive su debug.log, questo valore costante è OFF.

neoswf neoswf
7 feb 2022 15:26:09
0

Nessuna delle soluzioni sopra indicate ha funzionato per me.

Quindi ho eseguito phpinfo() e ho scoperto che error_log = /var/log/php-fpm/www-error.log sulla mia macchina e finalmente sono riuscito a vedere l'errore. Nel mio caso, uno script superava i 30 secondi consentiti di tempo di esecuzione.

Quindi usa phpinfo() e scopri dove sono memorizzati i tuoi log!

23 nov 2022 12:52:49