Używam WP_DEBUG_LOG w moim środowisku programistycznym i nie mam problemów z tym, że debug.log znajduje się w katalogu wp-content.
Czasami włączam WP_DEBUG podczas produkcji, gdy muszę coś debugować i nadal chcę korzystać z dziennika, ale chciałbym przekierować go na coś poza moim katalogiem głównym. Czy jest to możliwe przy użyciu WP_DEBUG_LOG?
Wydaje się, że odpowiedzi tutaj nie są już prawdziwe w przypadku WP w wersji 5.1 i nowszych, ponieważ ta zmiana https://make.wordpress.org/core/2019/01/23/miscellaneous-developer-focused-changes-in-5-1 /
Możesz teraz zdefiniować
WP_DEBUG_LOG
jako ścieżkę, jeśli chcesz zastąpić wartość domyślną,wp-content/debug.log
na przykład:źródło
Tak, jeśli dodasz kod do wtyczki lub funkcji motywu. Php:
Edycja: ktoś inny przedstawił mi potrzebę zrobienia tego, więc umieściłem trochę kodu w prostej wtyczce, którą można edytować; jest dostępny jako podstawa, jeśli ktoś tego chce.
źródło
Wygląda na to, że kod WordPress zmienił się od czasu opublikowania ostatniej odpowiedzi na to pytanie. Bieżąca funkcja wp_debug_mode () związana z tymi stałymi obejmuje test, czy WP_DEBUG_LOG jest równy true, czy 1 - w takim przypadku zachowuje się tak, jak inni to opisali.
Można jednak również ustawić tę stałą na ciąg znaków - preferowaną ścieżkę do pliku - i dziennik zostanie tam wydrukowany. Na przykład możesz ustawić ścieżkę poza katalogami dla publicznie dostępnych treści internetowych. Być może będziesz musiał grać z uprawnieniami do plików, aby to zadziałało.
Przyszedłem szukać tej odpowiedzi, ponieważ wtyczka bezpieczeństwa WordFence skarży się, że mój dziennik debugowania jest potencjalnie dostępny w / wp-content /
if ( in_array( strtolower( (string) WP_DEBUG_LOG ), array( 'true', '1' ), true ) ) { $log_path = WP_CONTENT_DIR . '/debug.log'; } elseif ( is_string( WP_DEBUG_LOG ) ) { $log_path = WP_DEBUG_LOG; } else { $log_path = false; }
źródło
Afaik, nie możesz zmienić lokalizacji domyślnego pliku debugowania. Możesz zmienić lokalizację dziennika błędów MU, a także lokalizację pliku dziennika błędów PHP.
źródło
Czasy się zmieniają, podobnie jak poprawne odpowiedzi na pytania techniczne.
Aktualna odpowiedź z końca 2019 r. Jest prosta. Podczas definiowania „stałej” WP_DEBUG_LOG w wp-config.php, możesz teraz podać ścieżkę, w której chcesz zapisać plik.
define( 'WP_DEBUG_LOG', '/tmp/wp-errors.log' );
Zobacz dokumentację wsparcia Wordpress
źródło