エラー対応: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も、ほぼ同様の設定で問題ないと思います。
ソフトウェア | バージョン | 備考 |
---|---|---|
MAMP | 2.0.5 | /Applications/MAMP にインストール済みとする |
PHP | 5.3.6 | MAMPのPHPを使うものとする |
設定
php.iniの編集を行います。MAMPが標準通りインストールされていれば、 /Applications/MAMP/bin/php/php5.3.6/conf/php.iniにあるはずです。
所在がわからない場合は、 phpinfo()で確かめましょう。MAMPが標準通りインストールされていれば、 http://localhost/MAMP/phpinfo.phpでも確認できます。
226 227 228 229 230 231 232 | ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 30 ; Maximum execution time of each script, in seconds max_input_time = 60 ; Maximum amount of time each script may spend parsing request data memory_limit = 32M ; Maximum amount of memory a script may consume (8MB) |
環境によって違いはあると思いますが、 php.iniの232行目あたりの memory_limitの値を変更しましょう。今回は128Mとしました。
226 227 228 229 230 231 232 | ;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;; max_execution_time = 30 ; Maximum execution time of each script, in seconds max_input_time = 60 ; Maximum amount of time each script may spend parsing request data memory_limit = 128M ; Maximum amount of memory a script may consume (8MB) |
Apacheを再起動させれば、完了です。 phpinfo()の memory_limitで、設定が反映されているか確認できます。
MAMP メモリ上限追加 | 作業メモ
2014年2月21日 @ 10:14 AM
[…] 参考ありがとう:https://mawatari.jp/archives/fatal-error-allowed-memory-size-of-33554432-bytes-exhausted-tried-to-allocate-122880-bytes […]
zipファイルがcpgzとなり解凍できない|MAMPメモリ上限設定(Asemblyエクスポート時) | 魔法使いのwebマーケティング
2019年10月2日 @ 11:47 PM
[…] エラー対応:Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 122880 bytes) | mawatari.jp […]