24

mac osx 10.7にpear経由でphpunitをインストールしましたが、メモリ制限エラー(レポートでxdebugが有効になっている)を除いてすべて正常に動作します。

パラメータをphpunitに追加しようとし-d memory_limit=512Mましたが、最初のエラーで追加var_dump(ini_get('memory_limit')); exit;するとstring(3) "32M"が出力されるため、適用されません。

それで、なぜそれが適用されないのですか?

その上、私が走れば

php -d memory_limit=256M -r "echo ini_get('memory_limit');"

「256M」をエコーし​​ます

phpunitが同じphpを実行していない可能性はありますか?

4

3 に答える 3

33

はい、で設定できるすべてのphpオプションをphpunit -d設定できますini_set

あなたはすでにphpunitバグトラッカーでバグを開いていますが、ここでより詳細な回答を求めます

一般的に機能することを示すために再現します。

echo "<?php var_dump(ini_get('memory_limit')); " > foo.php

phpunit -d memory_limit=12M --bootstrap foo.php 

プロデュース:

string(3) "12M"
PHPUnit 3.6.5 by Sebastian Bergmann.

しかし、phpunit は最初のテストが実行される前に一度だけこのオプションを適用します!

したがって、コードのどこかにメモリ制限が変更されている可能性があり、32Mこれはphpunitが「修正」できないものです。

phpunit.xmlファイルにメモリ制限を設定する場合も同様です。

于 2012-01-10T22:29:02.947 に答える