3


特定の時点でメモリ制限を非常に高く設定する必要があるスクリプトを書いています。しかし、その後、メモリ制限を復元する必要があります。


ただし、スクリプトがini_setを呼び出してメモリ制限を設定し ていない場合、 ini_getは -1 を返します。 私はこのようなことをしようとしています:

$oldLimit  = ini_get("memory_limit");
ini_set("memory_limit", "220M");
do something 
//restore memory
ini_set("memory_limit", -1);

しかし、$oldLimitは -1 です。
このシナリオで -1 は何を意味しますか?
前もって感謝します。

4

2 に答える 2

4

-1 は無制限を意味します。つまり、サーバーの物理メモリによって制限されます。したがって、memory_limit を高い値に設定しても意味がありません

于 2012-05-24T14:12:09.883 に答える
3

ドキュメントによると、-1 はメモリ制限がないことを意味します (http://ca.php.net/manual/en/ini.core.php)。

(そうは言っても、悲しみの原因となる他のメモリ制限がある可能性があります。)

また、ini_set() は、その実行中のスクリプトの期間にのみ適用され、永続的ではなく、その時点または将来実行中の他のスクリプトにも適用されません。そのため、変更を行った場合、スクリプトが終了したときにフォールバックするだけなので、おそらく元に戻す必要はありません。

于 2012-05-24T14:14:54.680 に答える