Como desabilitar o ini_set do PHP para opções de configuração específicas?

Como desabilitar o ini_set do PHP para opções de configuração específicas?

Estou executando uma configuração com PHP 5.3.8 e uso php-fpm com sua funcionalidade chroot para separar vários clientes. Portanto, cada cliente tem seu próprio ambiente PHP com chroot, o que é bastante bom.

Agora quero proibir que um cliente possa alterar memory_limitsua instância PHP usando ini_set. Por outro lado, não quero desabilitar ini_setcompletamente. Então, estou procurando uma possibilidade de desabilitar a possibilidade de definir opções específicas de configuração do PHP (como memory_limit) via ini_set.

Alguém sabe como conseguir isso?

Responder1

Você não pode, sem corrigir o código-fonte do PHP.

Responder2

Como o cyberx86 observou em seu comentário, é pelo menos possível com o suhosin proibir alterações memory_limitdurante o tempo de execução. A opção de configuração para isso no suhoshin é chamada suhosin.memory_limit.

Responder3

Para Apache, você pode definir algo como o seguinte em httpd.conf:

php_admin_value memory_limit 2G

e isso tornará inútil qualquer linha em um script como:

ini_set('memory_limit', '4096M');

Você pode ler maisaqui.

HTH

informação relacionada