ホームページ >バックエンド開発 >PHPチュートリアル >thinkphp フレームワークでのシステム メモリ オーバーフロー

thinkphp フレームワークでのシステム メモリ オーバーフロー

WBOY
WBOYオリジナル
2016-06-23 14:16:372644ブラウズ

php thinkphp メモリ オーバーフロー

データ量が大きすぎる場合、ページはエラーを報告します: 致命的エラー: メモリ不足 (1781792768 が割り当てられています) (42 バイトを割り当てようとしました) in C: workspacegshm_hrpThinkPHPLibThinkDbDriverDbMysql.class.php on line 243


php.ini の設定は次のとおりです
max_execution_time = 0 ; 各スクリプトの最大実行時間 (秒単位)
max_input_time = 300 ; 各スクリプトがリクエストデータの解析に費やす最大時間
memory_limit = 2048M ; スクリプトが消費できる最大メモリ量 (8MB)

ぜひご覧ください。

ディスカッションへの返信 (解決策)

PHP プロセスは 2G のメモリを使用できますか?
複数の人が同時に訪問した場合はどうなりますか?
プログラムが開始されると、利用可能な最大メモリ空間は 1699.25M しか取得されないことがわかります。あなたのシステムはすでに忙しすぎます

何をしたのか分かりませんが、明らかに無理があります
ブラウザは 1 つの画面に 4 ~ 5 行しか表示できません。どうして一度にこれほど多くのデータを準備できるのでしょうか。受け入れられますか?

セグメントで処理できる場合は、php で処理しないようにアルゴリズムを調整することをお勧めします。全て。

PHP プロセスは 2G のメモリを使用できますか?

複数の人が同時に訪問した場合はどうなりますか?

プログラムが起動すると、利用可能な最大メモリ空間は 1699.25M しか取得されないことがわかります。あなたのシステムはすでに忙しすぎます


何をしたのか分かりませんが、明らかに無理があります
ブラウザは 1 つの画面に 4 ~ 5 行しか表示できません。どうして一度にこれほど多くのデータを準備できるのでしょうか。受け入れられますか?

セグメントで処理できる場合は、セグメントで処理することをお勧めします。

モデレーターは尋ねています。質問ですが、データベース操作を終了する関数はありますか?これはページ上のボタンによってトリガーされ、現在のデータベース操作を直接終了します。 rollback(); できるのでしょうか?

もちろんトランザクション処理はありますが、ページ上のボタンでロールバックをトリガーすることはできません

もちろんトランザクション処理はありますが、ページ上のボタンによってトリガーされます ロールバックをトリガーすることは不可能です

では、この操作を達成する良い方法はありますか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。