エラー対応:Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes)


Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes) in /Applications/MAMP/bin/php/php5.3.6/lib/php/PHP/CodeCoverage/Report/HTML/Renderer/File.php on line 466

MAMPでPHPUnitを実行する際にコードカバレッジを取得しようとしたら、上記のエラーが出たので、対応方法をメモしておきます。原因はPHPのメモリ上限( memory_limit)の設定です。

開発環境

環境は以下の通りです。パスやバージョン等は、必要に応じて読み替えてください。XAMPPも、ほぼ同様の設定で問題ないと思います。

ソフトウェアバージョン備考
MAMP2.0.5/Applications/MAMP にインストール済みとする
PHP5.3.6MAMPのPHPを使うものとする

設定

php.iniの編集を行います。MAMPが標準通りインストールされていれば、 /Applications/MAMP/bin/php/php5.3.6/conf/php.iniにあるはずです。
所在がわからない場合は、 phpinfo()で確かめましょう。MAMPが標準通りインストールされていれば、 http://localhost/MAMP/phpinfo.phpでも確認できます。

環境によって違いはあると思いますが、 php.iniの232行目あたりの memory_limitの値を変更しましょう。今回は128Mとしました。

Apacheを再起動させれば、完了です。 phpinfo()memory_limitで、設定が反映されているか確認できます。