Для сред WordPress, как правило, нет смысла использовать, ini_set
потому что это то, чего уже достигают определенные константы, предоставляемые в WordPress Core. PHP работает так, что определенные настройки могут быть переопределены в вашей CMS (WordPress), в отдельных скриптах и даже для каждого пользователя или каталога (во многом к разочарованию веб-хостов и агентств).
Чтобы отключить отображение ошибок на странице в WordPress, единственное, что вам действительно нужно, это:
define('WP_DEBUG', false);
... потому что, когда WP_DEBUG
отключено, подопции тогда неактивны:
define('WP_DEBUG_DISPLAY', false);
define('WP_DEBUG_LOG', false);
Имейте в виду, что запутанный WP_DEBUG_LOG
параметр относится только к созданию debug.log
внутри каталога wp-content
и не влияет на другие параметры ведения журнала и т. Д.
Опять же, настройки в WordPress могут переопределять настройки PHP по умолчанию, поэтому ваши настройки PHP не так важны, как наличие правильных настроек в вашем wp-config.php
файле, который загружается перед другими компонентами WP.
Тем не менее, это хорошая идея для реализации настроек по умолчанию, как показано ниже:
error_reporting = E_ERROR | E_WARNING | E_PARSE
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /var/www/logs/error.log
log_errors_max_len = 1024
ignore_repeated_errors = On
ignore_repeated_source = Off
report_memleaks = On
xmlrpc_errors = 0
html_errors = Off
Полный пример приведен в нашем файле SlickStack php.ini, оптимизированном для Nginx и PHP-FPM.
В одном случае, после нескольких часов исследований, мы поняли, что плагин (или тема) переопределяет различные параметры обработки ошибок, ранее установленные в php.ini
и wp-config.php
. Единственный способ предотвратить это - удалить плагин или тему WordPress, которые пытаются «взломать» ваши настройки PHP, или попросить их удалить их, потому что это очень плохая практика, когда расширения переопределяют параметры отладки вашей CMS.
В SlickStack, мы создали скрипт Bash , что «флаги» любые ini_set
и error_reporting
строки из PHP файлы в директориях /themes/
и /plugins/
каталоги, выделив такие экземпляры , используя MU плагин (PHP скрипт) , который отображает список таких «взломов» в WP администратора панели управления.