Para ambientes WordPress, geralmente não há razão para usar, ini_setporque é isso que as constantes definidas fornecidas pelo WordPress Core já estão alcançando. A maneira como o PHP funciona é que determinadas configurações podem ser substituídas no seu CMS (WordPress), em scripts individuais e até mesmo por usuário ou por diretório (para grande frustração dos hosts e agências da web).
Para desativar a exibição de erros na página no WordPress, a única configuração que você realmente precisa é:
define('WP_DEBUG', false);
... porque quando WP_DEBUGestá desativado, as subopções ficam inativas:
define('WP_DEBUG_DISPLAY', false);
define('WP_DEBUG_LOG', false);
Lembre-se de que a WP_DEBUG_LOGopção confusa refere-se apenas à criação de debug.logdentro do diretório wp-contente não afeta outras configurações de log etc.
Novamente, as configurações do WordPress podem substituir as configurações padrão do PHP, portanto, as configurações do PHP não importam tanto quanto ter as configurações corretas no wp-config.phparquivo, que são carregadas antes de outros componentes do WP.
Dito isto, é uma boa ideia implementar as configurações padrão, como abaixo na produção:
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
Para um exemplo completo, consulte o nosso arquivo slickStack php.ini otimizado para Nginx e PHP-FPM.
Em um caso, após horas de pesquisa, percebemos que um plugin (ou tema) estava substituindo as várias configurações de tratamento de erros definidas anteriormente em php.inie wp-config.php. A única maneira de evitar isso é remover o plug-in ou tema do WordPress que está tentando "hackear" suas configurações de PHP ou pedir para removê-lo, porque isso é uma prática muito ruim para as extensões substituírem as opções de depuração do seu CMS.
No SlickStack, criamos um script Bash que "sinaliza" qualquer ini_sete error_reportinglinhas de arquivos PHP nos diretórios /themes/e /plugins/, destacando essas instâncias usando um MU Plugin (script PHP) que exibe uma lista desses "hacks" no WP Admin Dashboard.