Как я могу использовать error_log() в Wordpress?
Я пытаюсь использовать error_log()
в пользовательском плагине Wordpress, который я создаю, но по какой-то причине я не могу.
Когда я использую error_log()
мой сайт просто ломается, но я не вижу ошибок в debug.log
.
У меня есть настройка отладки в моем файле wp_config.php
следующим образом:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Stranegly, если я использую error_log()
в своей теме, сайт не сломается, но ничего не выводится на debug.log
.
Что мне нужно сделать, чтобы иметь возможность использовать error_log()
в моем плагине Wordpress и теме?
Я использую Wordpress 3.9.1.
Ответы
Ответ 1
Согласно Codex, WP_DEBUG_DISPLAY
должен быть установлен по умолчанию по умолчанию, но, похоже, это не так.
Добавление define('WP_DEBUG_DISPLAY', true);
на wp_config.php
исправлен журнал ошибок.
Установка WP_DEBUG_DISPLAY
на false
удалила ошибки из браузера, но разрешила их выводить в журнал.
Казалось бы, Wordpress требует define('WP_DEBUG_DISPLAY');
для вывода ошибок в журнал, установите ли вы его значение true
или false
.
Ответ 2
У меня такая же проблема. Для меня комментирование этой линии помогло.
define( 'WP_DEBUG_LOG', true );
Ответ 3
Включить отладку
Вы можете просто включить отладку, добавив следующий код в ваш wp-config.php
:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
В вашей папке wp-content
будет создан файл debug.log
.
Использование в производственной среде
Если вы просто хотите регистрировать ошибки, не печатая их в веб-интерфейсе, добавьте следующую строку:
define( 'WP_DEBUG_DISPLAY', false );
Ошибки печати
Теперь вы можете просто написать в свой журнал, используя функцию error_log
:
error_log( 'Hello World!' );
Или просто распечатайте вывод, используя метод print_r
:
error_log( print_r( 'Hello World!', true ) );
Совет от профессионала: если вы используете bash, вы можете наблюдать за журналом с tail -f wp-content/debug.log