PHP メモリ増加の解決策: 1. 対応する PHP ファイルを開きます; 2. ループ本体内のパスを絶対パスに変更します; 3. 変数 "$file_dir" を解放し、それを " として直接書き込みますinclude" ('...');"; 4. シェル スクリプトを呼び出して、Linux システムのメモリを解放します。
このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。
php メモリが増加し続ける場合はどうすればよいですか?
具体的な問題の説明:
php メモリが増大し続ける問題
このようなコードがあります
set_time_limit(0); while (true){ $file_dir='data/cache/123.php'; include ($file_dir); sleep(1); }
このコードは終わりのないループ コードです。ここで問題が発生しました。インクルードはループするたびにリロードされますが、各ループで最新の 123.php ファイルを読み取る必要があるため、リロードする必要があるため、include_once は使用できません問題 ここで、123.php ファイルがループでロードされるたびに、メモリが 4K ずつ増加します。これが高い同時実行条件で継続すると、しばらくするとメモリが食い尽くされてしまいます。追加されたメモリを解放するにはどうすればよいですか?ループに一度インクルードすることで?
問題分析と解決策:
なぜキャッシュを置いてインクルードし続けるのか...
ファイルが保存されているときに、この 4K メモリが占有される可能性があります。開いたとき、絶対パスでパスを書き込もうとします...
変数 $file_dir を解放し、 include('ファイルへの絶対パス') として直接書き込みます;
次のように呼び出すことができます。数秒の実行後にシェル スクリプトを実行します。 Linux システムのメモリを解放します。Win Serv についてはわかりません....
推奨学習: 「PHP ビデオ チュートリアル##」 #"
以上がPHP のメモリが増加し続ける場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。