Fișierul debug.log nu este creat niciodată?

15 mar. 2018, 21:09:24
Vizualizări: 23.9K
Voturi: 7

Este prima dată când am văzut acest lucru. Într-un proiect la care lucrez, am încercat să activez modul debug pentru WordPress pentru a vedea log-urile. Chiar dacă activez debug_log în wp-config.php, fișierul debug.log nu este creat niciodată în /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);

drepturi director wp-content

captura de ecran cu drepturile directorului wp-content

load.php

if ( WP_DEBUG_LOG ) {
    ini_set( 'log_errors', 1 );
    var_dump( WP_CONTENT_DIR . '/debug.log' );
    // afișează corect acest path => "/htdocs/wp-content/debug.log";
    ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
}
8
Comentarii

Capacitatea de scriere în acel folder este specifică serverului, și nu doar chmod, dar și proprietatea folderului este importantă. Cu toate acestea, se pare că ești pe un VPS, de ce nu folosești direct jurnalele de eroare PHP?

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

@Tom J Nowell Folosesc pluginul de debug log pentru a vedea jurnalele în administrarea WordPress. Încerc să urmăresc cu error_log() care fișiere sunt încărcate într-un proiect defect al unui client. Acest plugin are nevoie de acest fișier. Deci... Ar trebui să vorbesc cu clientul meu să schimbe drepturile wp-content pe partea de server?

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

hmm asta sună ca o abordare suboptimală, nu poți rula site-ul local? Atunci ai putea să-l rulezi și să monitorizezi jurnalele de eroare PHP în timp real, sau să folosești un debugger

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

Aștept accesul la baza de date pentru a copia toate datele și a lucra pe localhost.

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

Este un mod foarte vechi și suboptimal de a depana problemele, codexul este foarte învechit, și există metode mult mai bune de a face acest lucru, în special pe un mediu local unde poți folosi un debugger real. Nu sunt disponibile jurnalele de eroare PHP? Tot ce face WP_DEBUG_LOG este să schimbe locația fișierelor de jurnal

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

Deci care este cea mai bună practică pentru a face asta? Ai vreun link?

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

continuăm această discuție în chat.

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

am găsit logs în c:/wamp64/logs/xdebug.log

dileesha abilash dileesha abilash
11 iul. 2024 17:53:55
Arată celelalte 3 comentarii
Toate răspunsurile la întrebare 2
2
11

Am găsit problema. În serverul Apache, în interiorul fișierului php.ini, variabila...

track_errors = Off

Pentru a obține această informație, puteți rula într-un fișier php phpinfo();. Deci, pentru a scrie fișierul jurnal de depanare, trebuie să setați track_errors ca 'On'.

19 apr. 2018 19:21:16
Comentarii

Acesta doar stochează ultima eroare într-o variabilă PHP pe care o poți folosi ulterior pentru scripting în alt mod. Aceasta nu activează logging-ul.

Mike Kormendy Mike Kormendy
5 iun. 2020 06:37:14

Am avut aceeași problemă pe care ai descris-o mai sus, iar modificarea acestui lucru nu m-a ajutat să rezolv problema. Mai mult decât atât, pe un site care creează și scrie în debug.log, valoarea acestei constante este OFF.

neoswf neoswf
7 feb. 2022 15:26:09
0

Nici una dintre soluțiile de mai sus nu a funcționat pentru mine.

Așa că am rulat phpinfo() și am descoperit că error_log = /var/log/php-fpm/www-error.log pe mașina mea și în sfârșit am putut vedea eroarea. În cazul meu, un script depășea timpul de execuție permis de 30 de secunde.

Deci folosește phpinfo() și află unde sunt stocate jurnalele tale de erori!

23 nov. 2022 12:52:49