Как отключить Notice в логах?
Поиск по форуму ничего не дал, что странно. Неужели меня одного напрягают нотайсы с десятков плагинов, в которых разработчики не сделали проверку переменных?!
В глобальных настройках php на сервере стоит нужный уровень (32759, он же E_ALL & ~E_NOTICE), но в phpinfo через /webasyst/logs/?action=phpinfo упорно выводит Local Value 32767 (он же E_ALL). Пытался подобный уровень проставить в .htaccess (не только в корне сайта), но всё бесполезно.
Поиск по файлам движка тоже ничего не дал кроме 2 моментов:
1) Исправил в /wa-apps/logs/lib/classes/logsPhpLogging.class.php на "@ ini_set('error_reporting', E_ALL & ~E_NOTICE);", - работает как надо только при включенной опции "Включить логирование ошибок PHP". Без этой опции php.log всё равно пишется, но со всеми Notice. Непонятно, что дает эта опция. Или же это какой-то сбой?
2) Также обнаружил упоминание в файле /wa-apps/logs/lib/updates/1449218808.php :
... $old_config = <<<PHP @ ini_set('display_errors', 0); @ ini_set('error_reporting', E_ALL); @ ini_set('log_errors', 1); @ ini_set('error_log', './wa-log/php.log'); PHP; ...
Разумеется, правка ни к чему не привела. И где же тогда хранится не old_config?
Как поменять на E_ALL & ~E_NOTICE?
3 ответа
Лог добавляет код в wa-config/SystemConfig.class.php, там и замените.
Всё содержимое /wa-config/SystemConfig.class.php
Если нет, то попробуйте добавить.