PHP come muita memória no IIS

4

Acabei de transferir um site do Linux para o Windows e estou recebendo estranhas mensagens de erro fatais. Meu Linux PHP tinha um limite de memória de 256MB e nunca teve um único erro fatal de "falta de memória".

Agora no IIS eu tenho o mesmo limite de memória, mas estou recebendo muitos

PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 32508940 bytes) in C:\...\functions.php on line 0

Eu tentei aumentar (400MB) para ver o que aconteceu e é isso que consegui

PHP Fatal error:  Allowed memory size of 419430400 bytes exhausted (tried to allocate 65013862 bytes) in C:\....\dbfunctions.php on line 1073741824

Estranho, é o mesmo aplicativo, as mesmas configurações de limite de memória. Também estranho é que o segundo erro diz "on line 1073741824" mas uau, esse arquivo tem 500 linhas. Este é um problema do Windows / IIS / PHP?

Minha configuração: IIS 8.0, PHP 5.3.28, PHP manipulador php-cgi.exe

    
por Novkovski Stevo Bato 01.02.2015 / 01:07

1 resposta

4

Extensão de Cache do Windows para PHP

Parece haver uma infinidade de problemas que giram em torno da extensão de cache do windows para PHP, que define os limites de memória para php.

Artigo do Microsoft IIS.net

Existem exemplos e postagens de blogs nos quais a remoção do wincache resolve o problema, mas isso pode afetar negativamente o desempenho do site.

Um exemplo de questões relacionadas ao wincache que parecem similares

Gerenciando a memória PHP no IIS

  • php.ini - localizado na pasta raiz. Edite no TextPad e altere o valor para momory_limit. se 4M não for suficiente até 8M, etc.

  • Em admin.php (se o erro estiver aqui) adicione uma linha de limite de memória após ini_set 'memory_limit', '12M' se 12 MB de memória for o que você deseja adicionar

  • Você pode adicionar uma linha a .htaccess : php_value memory_limit 32M

  • wp-config.php pode controlar a memória. Você coloca uma linha que se parece com isso

    define('WP_MEMORY_LIMIT', '32M');

Informações obtidas de phpbb.com e technet.microsoft.com

    
por 01.02.2015 / 01:43