Файл Debug.log не создается?

15 мар. 2018 г., 21:09:24
Просмотры: 23.9K
Голосов: 7

Впервые сталкиваюсь с такой ситуацией. В проекте, над которым я работаю, я попытался включить режим отладки WordPress для просмотра логов. Даже после активации debug_log в wp-config.php, файл debug.log никогда не создается в /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);

Права доступа директории wp-content

Скриншот прав доступа директории wp-content

load.php

if ( WP_DEBUG_LOG ) {
    ini_set( 'log_errors', 1 );
    var_dump( WP_CONTENT_DIR . '/debug.log' );
    // корректно отображает это => "/htdocs/wp-content/debug.log";
    ini_set( 'error_log', WP_CONTENT_DIR . '/debug.log' );
}
8
Комментарии

Возможность записи в эту папку зависит от настроек сервера, и не только от прав chmod, но и от владельца папки. Однако, судя по всему, вы используете VPS — почему бы просто не использовать логи ошибок PHP?

Tom J Nowell Tom J Nowell
15 мар. 2018 г. 21:27:36

@Tom J Nowell Я использую плагин debug log для просмотра логов в админке WordPress. Я пытаюсь отследить с помощью error_log(), какие файлы действительно загружаются в сломанном проекте клиента. Этому плагину нужен этот файл. Так что... Должен ли я поговорить с клиентом о смене прав на wp-content на стороне сервера?

J.BizMai J.BizMai
15 мар. 2018 г. 21:35:08

Хм, это звучит не как оптимальное решение. Разве вы не можете запустить сайт локально? Тогда вы могли бы запустить его и следить за логами ошибок PHP в реальном времени или использовать отладчик.

Tom J Nowell Tom J Nowell
15 мар. 2018 г. 21:42:15

Я жду доступа к базе данных, чтобы скопировать все данные и работать с ними на localhost.

J.BizMai J.BizMai
15 мар. 2018 г. 21:53:29

Это очень старый и неоптимальный способ отладки, кодекс устарел, и есть гораздо лучшие способы сделать это, особенно в локальной среде, где можно использовать настоящий отладчик. Разве PHP error logs не доступны? Все, что делает WP_DEBUG_LOG — это меняет расположение файлов логов.

Tom J Nowell Tom J Nowell
15 мар. 2018 г. 21:54:28

Так какой же лучший способ сделать это? У вас есть ссылка?

J.BizMai J.BizMai
15 мар. 2018 г. 22:10:43

Давайте продолжим это обсуждение в чате.

J.BizMai J.BizMai
15 мар. 2018 г. 22:34:07

у меня есть логи в c:/wamp64/logs/xdebug.log

dileesha abilash dileesha abilash
11 июл. 2024 г. 17:53:55
Показать остальные 3 комментариев
Все ответы на вопрос 2
2
11

Я обнаружил проблему. В сервере Apache, внутри файла php.ini, переменная...

track_errors = Off

Чтобы получить эту информацию, вы можете использовать в php-файле phpinfo();. Итак, для записи лога отладки вам нужно установить track_errors в значение 'On'.

19 апр. 2018 г. 19:21:16
Комментарии

Это сохраняет только последнюю ошибку в переменной PHP, которую вы можете далее использовать в скрипте по своему усмотрению. Это не включает логирование.

Mike Kormendy Mike Kormendy
5 июн. 2020 г. 06:37:14

У меня была такая же проблема, как описано выше, и изменение этого не помогло её исправить. Более того, на одном сайте, который создаёт и записывает в debug.log, значение этой константы выключено.

neoswf neoswf
7 февр. 2022 г. 15:26:09
0

Ни одно из вышеперечисленных решений мне не помогло.

Поэтому я запустил phpinfo() и обнаружил, что на моей машине error_log = /var/log/php-fpm/www-error.log, и наконец смог увидеть ошибку. В моем случае скрипт превышал разрешенные 30 секунд времени выполнения.

Так что используйте phpinfo() и выясните, где хранятся ваши логи!

23 нояб. 2022 г. 12:52:49