MAMP PROを使用してPHPのコマンドラインmemory_limitを増やすにはどうすればよいですか?


13

私はphp.ini自分のMac(少なくとも "locate"で見つかったものすべて)ですべてを編集しましたが、memory_limitPHP のディレクティブを増やすことはまだできないようです。

MAMP PROを使用し、ターミナルでPHPスクリプトを実行しています。

これを解決するには?

回答:


15

変更する必要があるphp.iniを推測する代わりに、次のコマンドを実行してファイルを見つけます。

php -r 'phpinfo();' | grep 'php.ini'

MAMP PROを使用していますが、デフォルトでは、コマンドラインPHPコマンドはPHPのコピーを使用して実行されません。私の場合、ファイルは次の場所にあります/etc/php.ini

ファイルを見つけたら、他のすべての回答の指示に従って、memory_limit設定を上げます。

memory_limit = 256M

1
:私は拳CPにデフォルトのファイル持っていたcp /etc/php.ini.default /etc/php.ini
deweydb

4

http://drupal.org/node/66187から (drupalはあなたのニーズとは無関係かもしれませんが、彼らのサイトには良い説明がありました-あなたのためにそれを調達し、彼らに信用を与えたいと思いました)

デフォルトでは、MAMPにはスクリプトが使用できるメモリ制限があり、PHPのデフォルトである8MBに設定されています。PHPのphp.ini推奨ファイルを見ると、このメモリ制限は通常128MBに設定されています。この量を調整するには、テキストエディターでphp.iniファイルを開き、次の行(約232行目)を変更します。

memory_limit = 8M; スクリプトが消費できるメモリの最大量(8MB)

PHP.iniファイルの場所:

/Applications/MAMP/conf/php4/php.ini
/Applications/MAMP/conf/php5/php.ini
MAMP PROでは、サーバーを起動するたびにファイルが再作成されるため、ファイルを直接変更しないでください。代わりに、適切なテンプレートを編集してください(メニューの[ファイル]> [テンプレートの編集]> ...)。

PHPのメモリ制限が大きくても、大きなDrupalデータベースをMySQLにインポートしようとすると、タイムアウトエラーが発生する可能性があります。これらの問題は、キャッシュとビューキャッシュに関して他の場所で詳細に説明されています。一般的に解決策は、MySQLとの間でデータベースをインポート/エクスポートする前にDrupalキャッシュを空にすることです。


行きません、これらの制限は... 128メガバイトですでにだった
アレックス・ウェーバー

うーん。代わりにテンプレートを編集してみてください。どうやらphp.iniファイルは毎回再作成されます。ここでの手順:documentation.mamp.info/en/mamp-pro/how-tos/… 動作しますか?Mampサーバーで何を実行していますか?
dmg

それでも、私が見つけることができるすべての単一のphp.iniファイル(およびテンプレートも)はすべて128MBですが、php -r "phpinfo();" | grep memory_limitがまだmemory_limit => 8M => 8Mを返す
Alex Weber

2

私のために、私は次のことをしました:

編集する /Applications/MAMP/conf/php5.4.4/php.ini

そして

php.ini.temp

することが:

memory_limit = 128M      ; Maximum amount of memory a script may consume (8MB)

次に、ファインダーで、すべてのユーザーに対してphp.iniとphp.ini.tempを読み取り専用にします。この方法では、MAMPはデフォルトファイルで上書きできません。サーバーを再起動し、phpinfoを確認します。


最も単純なものは見過ごされます!このアイデアをありがとう!
ケリージョンソン

1

しばらくいじくり回した後、私のために働いた何かを見つけました:

# 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

そこ!


1

これをすばやく簡単に行うには、スクリプトを呼び出すときに引数として設定します。

すなわち:

php -d memory_limit=512M myScript.php 


0

Mamp ProでOpcacheをオンにしている場合、適切な設定を取得できません...停止して、Mamp Proサーバーを再起動してください...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.