0

致命的なエラー: 104857600 バイトの許容メモリ サイズを使い果たしました (32345609 バイトを割り当てようとしました)

これは、php スクリプトを実行するには 137203209 バイトのメモリ制限が必要であることを意味します。
スクリプトに次のコードがありますが、このエラーが発生しました。

 ini_set('memory_limit', 268435456); # 256 MB

スクリプトは私の共有ホスティング サーバーにあります。php.iniにアクセスできません。memory_limit同じホスティングサーバー内の他のスクリプトでも機能しました。

サーバーのphpinfo()をチェックすると、これらが表示されます

suhosin.memory_limit - 128
memory_limit - 100M

私のスクリプトは、大きなファイルが添付されたメール送信スクリプトであるため、間違いなく 128M 以上必要です。

4

2 に答える 2

2

あなたは共有ホスト上にいて、共有ホストがini_set('memory_limit',XXX)関数を使用することをほとんど許可しません(そうでなければ、誰もが常にサーバーメモリ全体を取得してサーバー全体をロックしようとします)。phpinfo()セーフモードがオンになっているかどうかを確認してください...おそらくオンになっています。

また、補足:メモリ制限を256MBに設定する場合は、次を使用できます。

ini_set('memory_limit'、 '256M');

整数全体を書き出す代わりに表記。

于 2012-09-21T03:14:21.497 に答える
1

suhosin.memory_limit - 128では、メモリ制限を 128 MB より大きくすることはできません。268435456 に設定すると、memory_limit を 256 MB まで増やすことができます。ただし、suhosin ini ファイルへのアクセスが必要なため、共有ホスティングでそれを行うことができるとは思えません (のようなことはできませんini_set('suhosin.memory_limit', 268435456);)。

More about suhosin.memory_limit

于 2012-09-21T03:11:36.637 に答える