59

PHP のメモリ制限を Apache モジュールとして増やす際に問題があります。

次のディレクティブを Apache 構成に入れると、問題なく動作します。

php_value memory_limit 1.99G

ただし、2GB を超えると機能しません。この値を 128MB に戻します。

ここで何が問題なのですか?PDF 関連のタスクのために、より多くのメモリが必要です。

サーバーは Debian 2.6.32-5-amd64 #1 SMP、PHP 5.3.3-7+squeeze13、12GB 物理 RAM です。

4

8 に答える 8

59

MB の値を使用してみましたか?

php_value memory_limit 2048M

また、not Apacheでこの値を編集してみてください。php.ini

于 2012-08-09T14:04:59.737 に答える
49

問題を間違った観点から見ていることをお勧めします。質問は、「apache モジュールを介して Php を使用する apache プロセス内で 2G メモリを必要とする私が行っていることは何ですか?このツールセットはその仕事に最適ですか?」

はい、ロケットをフォードピントにストラップで固定できますが、それはおそらく適切な解決策ではありません.

とにかく、本当に必要な場合はロケットを提供します...スクリプトの先頭に追加できます.

ini_set('memory_limit','2048M');

これにより、スクリプトのみが設定されます。PHPスクリプトにそれだけのことを許可するようにApacheに指示する必要があります(私は思います)。

于 2012-08-09T14:11:02.550 に答える
25

変数に設定-1された無制限のメモリ制限の場合:memory_limit

ini_set('memory_limit', '-1');
于 2014-05-07T09:52:20.433 に答える
3

64 ビット OS、64 ビット Apache バージョンをサポートするハードウェアに 64 ビット OS が必要で、PHP も同様です。ただし、これは、PDF で動作する関数がそのような大きなサイズのメモリを使用できることを保証するものではありません。ファイル全体をメモリにロードしたり、チャンクに分割したり、ファイル関数を使用して RAM にロードせずにシークしたりしないでください。

于 2012-08-09T14:10:26.667 に答える
2

同じ問題が発生している他の人のために、ここにphp+パッチのバグの説明があり ますhttps://bugs.php.net/bug.php?id=44522

于 2013-03-05T09:15:53.990 に答える
1

Apache 構成に次のように入力します。

php_value memory_limit 2048M
于 2012-08-09T14:04:40.180 に答える