Recentemente, tive um problema em um site utilizando WordPress, que apresentava uma mensagem de erro indicando que o site apresentava problemas técnicos. O site em questão roda com nginx e PHP-FPM, versão 7.3.
Pesquisando esse erro na internet, maior parte das respostas indicavam problema de memória ou incompatibilidade de plugins. Fiz a desativação em massa dos plugins, e não resolveu. Sobrou então o problema da memória. O que me intrigou, porque no arquivo php.ini estava configurado para utilizar um limite adequado para o WordPress (maior que os 32 mb utilizados por padrão).
E no arquivo wp-config.php coloquei um valor custom também, utilizando o “define(‘WP_MEMORY_LIMIT’, ‘128M’);”. O problema persistia. Eis que me deparo com uma configuração do PHP que eu não conhecia: php_admin_value.
Dentro do meu arquivo do pool do FPM, na última linha havia um comando: php_admin_value[memory_limit] = 32M. Alterando essa linha para um valor maior, o site voltou a funcionar como esperado. Porém, fui pesquisar qual a função desse php_admin_value. Segundo a documentação do PHP, “Any directive type set with php_admin_value
can not be overridden by .htaccess or ini_set().”. Assim, enquanto utilizando memory_limit = 32M, esse valor pode ser modificado, utilizando o php_admin_value.