3

aptitude 経由でインストールされた標準の Apache と PHP で Debian Squeeze を実行しています。

いいえ、実行しようとします:

<?php
 echo ini_get("memory_limit")."\n";
 ini_set("memory_limit","1024M");
 echo ini_get("memory_limit")."\n";
?>

結果: 128M 128M

この動作といくつかの事実を変更しようとしたこと:

/etc/php5/apache2/php.ini:
safe_mode = Off
memory_limit = 128M

/etc/php5/apache2/conf.d/suhosin.ini:
[suhosin]
suhosin.memory_limit = 2048M

この設定は phpinfo(); で確認できますservice apache2 restart

128M を超えるメモリ制限を設定できないのはなぜですか?

ノート:

<?php
 echo ini_get("memory_limit")."\n";
 ini_set("memory_limit","127M");
 echo ini_get("memory_limit")."\n";
?>

結果: 128M 127M

敬具

4

1 に答える 1

2

の変化はmemory_limit、スホシン拡張によってブロックされます。

ドキュメントから: http://www.hardened-php.net/suhosin/configuration.html#suhosin.memory_limit

suhosin.memory_limit

タイプ: 整数 デフォルト: 0 長いスクリプトは safe_mode 内で実行されていないため、memory_limit を任意の値に自由に変更できます。Suhosin はこの事実を変更し、このオプションが 0 のままの場合、memory_limit をスクリプトが開始した値よりも大きな値に設定することを禁止します。限界。これは、たとえば、スクリプトを通常どおり 16M の制限で実行したいが、画像処理スクリプトによって制限が 20M に引き上げられる場合に役立ちます。

したがって、suhosin 拡張機能が有効になっている場合は、それを変更して apache を再起動する必要があります。

于 2013-08-09T06:18:59.893 に答える