Если для WP_DEBUG_LOG установлено значение true, в файле debug.log не отображаются выходные данные отладки, почему?Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Если для WP_DEBUG_LOG установлено значение true, в файле debug.log не отображаются выходные данные отладки, почему?

Сообщение Anonymous »

Я пытаюсь включить базовый вывод отладки в WordPress для плагина, который я разрабатываю. Мне удалось получить некоторые из них, но не удалось перенаправить их на wp-content/debug.log. Я примерно следовал руководству Дугласа Найнера. Вот что я сделал:

Я добавил этот фрагмент кода в конец wp-config.php:

Код: Выделить всё

@ini_set ('display_errors', 0);
define ('WP_DEBUG', true);
define ('WP_DEBUG_DISPLAY', false);
define ('WP_DEBUG_LOG', true);
Я вручную создал файл debug.log и убедился, что он доступен пользователю www-data (я запускаю WordPress локально, в Ubuntu 12.04):

Код: Выделить всё

septi@norbert:~$ sudo su www-data -c 'ls -l /usr/share/wordpress/wp-content/debug.log'
-rw-rw-r-- 1 root www-data 0 Dec  9 22:12 /usr/share/wordpress/wp-content/debug.log
septi@norbert:~$ sudo su www-data -c 'ls -l /srv/www/localhost/wp-content/debug.log'
-rw-rw-r-- 1 root www-data 0 Dec  9 22:12 /srv/www/localhost/wp-content/debug.log
septi@norbert:~$ sudo su www-data -c 'echo i can write >> /usr/share/wordpress/wp-content/debug.log'
septi@norbert:~$
Добавлено несколько предполагаемых операторов вывода отладки внутри хука активации плагина, а также преднамеренная ошибка:

Код: Выделить всё

include ('i fail wp');

register_activation_hook (__FILE__, 'hello_world_activate');

function hello_world_activate()
{
error_log ('I love debug output when it works!');
}
Я ожидаю появления сообщения об отсутствующем включаемом файле в debug.log вместе с сообщением «Мне нравится вывод отладочной информации, когда он работает!» сообщение, а на странице ничего. Я получаю отсутствующий включаемый файл в сообщении страницы и ничего в debug.log. Однако выходное сообщение отладки не потеряно полностью. Я нашел это в файле /var/log/apache2/error.log:

Код: Выделить всё

[Sun Dec 09 22:58:18 2012] [error] [client 127.0.0.1] PHP Warning:  include(i fail wp): failed to open stream: No such file or directory in /usr/share/wordpress/wp-content/plugins/helloworld2085/helloworld2085.php on line 28, referer: http://localhost/wp/wp-admin/plugins.php?deactivate=true&plugin_status=all&paged=1&s=
[Sun Dec 09 22:58:18 2012] [error] [client 127.0.0.1] PHP Warning:  include(): Failed opening 'i fail wp' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/wordpress/wp-content/plugins/helloworld2085/helloworld2085.php on line 28, referer: http://localhost/wp/wp-admin/plugins.php?deactivate=true&plugin_status=all&paged=1&s=
[Sun Dec 09 22:58:18 2012] [error] [client 127.0.0.1] I love debug output when it works!, referer: http://localhost/wp/wp-admin/plugins.php?deactivate=true&plugin_status=all&paged=1&s=
[Sun Dec 09 22:58:18 2012] [error] [client 127.0.0.1] PHP Warning:  include(i fail wp): failed to open stream: No such file or directory in /usr/share/wordpress/wp-content/plugins/helloworld2085/helloworld2085.php on line 28, referer: http://localhost/wp/wp-admin/plugins.php?deactivate=true&plugin_status=all&paged=1&s=
[Sun Dec 09 22:58:18 2012] [error] [client 127.0.0.1] PHP Warning:  include(): Failed opening 'i fail wp' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /usr/share/wordpress/wp-content/plugins/helloworld2085/helloworld2085.php on line 28, referer: http://localhost/wp/wp-admin/plugins.php?deactivate=true&plugin_status=all&paged=1&s=
Я подозреваю, что функция error_log() не подходит для вывода в debug.log, но мне не удалось найти правильный путь. О, конечно, я мог бы просто жестко запрограммировать путь к файлу и добавить к нему, но, вы знаете...

Подробнее здесь: https://stackoverflow.com/questions/137 ... ug-log-why
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»