Eu editei todos php.ini
no meu Mac (pelo menos todos os encontrados por "localizar") e ainda não consigo aumentar a memory_limit
diretiva para PHP.
Estou usando o MAMP PRO e executando scripts PHP no terminal.
Como resolver isso?
Eu editei todos php.ini
no meu Mac (pelo menos todos os encontrados por "localizar") e ainda não consigo aumentar a memory_limit
diretiva para PHP.
Estou usando o MAMP PRO e executando scripts PHP no terminal.
Como resolver isso?
Respostas:
Em vez de adivinhar qual php.ini você precisa alterar, execute este comando para localizar o arquivo:
php -r 'phpinfo();' | grep 'php.ini'
Mesmo usando o MAMP PRO, por padrão, meus comandos PHP de linha de comando não são executados usando sua cópia do PHP. No meu caso, diz que o arquivo é encontrado em/etc/php.ini
Depois de localizar o arquivo, siga as instruções em todas as outras respostas para aumentar a configuração memory_limit:
memory_limit = 256M
Em http://drupal.org/node/66187 (o drupal pode ser irrelevante para as suas necessidades, mas o site deles tem uma boa explicação - queria procurá-lo por você e dar crédito a eles)
Por padrão, o MAMP possui o limite de memória que um script pode usar definido em 8 MB, que é o padrão do PHP. Observando o arquivo recomendado pelo php.ini do PHP, esse limite de memória é normalmente definido em 128 MB. Para ajustar esse valor, abra o arquivo php.ini em um editor de texto e altere a seguinte linha (aproximadamente na linha 232):
limite_de memória = 8M; Quantidade máxima de memória que um script pode consumir (8 MB)
Locais do arquivo PHP.ini:
/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini
No MAMP PRO, não altere o arquivo diretamente, pois ele será recriado a cada inicialização do servidor. Por favor, edite o modelo apropriado (menu Arquivo> Editar modelo> ...).
Mesmo com limites maiores de memória PHP, você pode obter erros de tempo limite ao importar grandes bancos de dados Drupal para o MySQL. Esses problemas são discutidos detalhadamente em outros lugares com relação ao cache e exibem o cache. Geralmente, a solução é esvaziar o cache do Drupal antes de importar / exportar bancos de dados para / do MySQL.
Para mim, fiz o seguinte:
Edite o /Applications/MAMP/conf/php5.4.4/php.ini
e
php.ini.temp
ser estar:
memory_limit = 128M ; Maximum amount of memory a script may consume (8MB)
Então, no localizador, simplesmente faça o php.ini e o php.ini.temp somente leitura para todos os usuários. Dessa forma, o MAMP não pode substituí-lo pelos arquivos padrão. Reinicie o servidor e verifique seu phpinfo.
Depois de mexer um pouco, encontrei algo que funcionou para mim:
# backup original php.ini
sudo mv /usr/bin/php /usr/bin/php.bkp
# create a symlink from MAMP's php.ini in /usr/bin directory
# (I use 5.2, change the path for 5.3)
sudo ln -s /Applications/MAMP/bin/php/php5.2.17/bin/php /usr/bin/php
Lá!
Uma maneira rápida e suja de fazer isso é defini-lo como argumento ao chamar seu script.
Ou seja:
php -d memory_limit=512M myScript.php
Se o Opcache estiver ativado no Mamp Pro, você não obterá a configuração adequada ... pare, reinicie o servidor Mamp Pro ...
cp /etc/php.ini.default /etc/php.ini