Restringir a substituição do memory_limit no php.ini

4

Nós temos um problema que acabou de chegar ao nosso conhecimento, alguns de nossos desenvolvedores usaram ini_set ('memory_limit', -1) para sobrepor as configurações de memory_limit do php.ini em seus arquivos de código.

Devido a que, às vezes, nosso uso de memória / CPU é muito mais do que o normal e nós até mesmo experimentamos o travamento / travamento do servidor várias vezes.

Existe alguma maneira de restringir essas alterações para determinados parâmetros como memory_limit, upload_max_filesize & post_max_size? Os usuários não devem poder editá-los depois de um certo limite definido?

Desculpe se eu fiz uma pergunta idiota, tentei pesquisar, mas não havia nenhuma referência a essas respostas apenas encontradas pedindo para aumentar esses parâmetros.

    
por Rohit Batra 27.05.2014 / 08:20

1 resposta

2

Existem duas opções que eu conheço para realizar pelo menos partes do seu objetivo.

Primeiro php safe_mode, o que pode dar aos seus desenvolvedores muito trabalho adicional.

Suhosin www.hardened-php.net

Quando instalado, você pode editar o /etc/php5/conf.d/suhosin.ini e definir:

suhosin.memory_limit = 512M

Qoute do Manual 1 :

suhosin.memory_limit

Type: Integer
Default: 0

Como os scripts longos não estão sendo executados dentro do safe_mode, eles estão livres para alterar o memory_limit para qualquer valor que desejarem. Suhosin muda este fato e proíbe a configuração do memory_limit para um valor maior do que aquele com o qual o script começou, quando esta opção é deixada em 0. Um valor maior que 0 significa que Suhosin não permite scripts configurando o memory_limit para um valor acima deste configurado limite. Isso é útil, por exemplo, se você quiser executar o script normalmente com um limite de 16 milhões, mas os scripts de processamento de imagem podem aumentá-lo para 20 milhões.

Pergunta do Stackoverflow para referência

    
por 27.05.2014 / 16:25

Tags