1

PHP(CakePHP)アプリケーションでファイルをアップロードしようとすると、これらのエラーが発生しました。

致命的なエラー:156行目の/home/xsu0653/public_html/administer/app/models/behaviors/sf_upload.phpで許可された16777216バイトのメモリサイズが使い果たされました(9660バイトを割り当てようとしました)

ご覧のとおり、私のphp.ini設定では、許可されるメモリ制限は16MBに設定されています。

このエラーメッセージは、アプリケーションが9660バイトのみを割り当てようとしたことを示しています。9,660バイトはたったの0.009MBだと思います。

このような小さなメモリ割り当てでこのエラーが発生した理由がわかりません。そして、このエラーはいつでも発生することはなく、たまにしか発生しません。それもおかしいです。

4

2 に答える 2

3

これは、割り当てを試みて失敗した金額を参照しています。制限を9,660バイト超えました。

于 2012-11-11T00:38:33.947 に答える
0

PHP は、スクリプトを実行する際にメモリを動的に割り当てます。同時に、割り当てを解除しようとします。

このエラー メッセージは、アプリケーションが 9660 バイトのみを割り当てようとしたことを示しています。

エラー メッセージの 9660 バイトは、単純に最新の割り当てを示しています。それは、ラクダの背中を折る藁のようなものだと考えてください。スクリプトはすでに構成された制限に非常に近い割り当てを行っており、この最後のビットを割り当てようとして制限を超えたため、このエラーが表示されます。

Cake のようなフレームワークは、使用中のモジュールによっては、メモリ使用量がかなり非効率になる可能性があります。

大きな配列の設定を解除したり、不要になったバッファをクリアしたりすることで、物事を改善することもできます。

于 2012-11-11T02:11:33.220 に答える