ホームページ > バックエンド開発 > PHPチュートリアル > Apache 500 エラーによって引き起こされる一時ファイルの問題の分析と解決

Apache 500 エラーによって引き起こされる一時ファイルの問題の分析と解決

高洛峰
リリース: 2023-03-05 11:06:01
オリジナル
1417 人が閲覧しました

Apache ログを確認すると、mod_fcgid モジュールが異常であり、「ピアによる接続リセット:mod_fcgid:FastCGI サーバーからのデータ読み取りエラー」、「スクリプト ヘッダーの早期終了:index.php」、「プロセス /usr/.. . apache/ cgi-bin exit(communication error, get requested signal 7"、率直に言うと、PHP は実行を早期に終了し、ヘッダーを返さずに終了します。

これらのエラーに基づいて長い間オンラインで検索しましたが、見つかりませんでした満足のいく答えであり、mod_fcgid モジュールの設定に問題があるのではないかと誤解を招くものでした

解決策を見つけるまで、私は最近 php が少し遅くなっているものの、少なくとも実行できると考えていました。設定に問題はなく、phpinfo() が実行されると、プログラムは引き続き実行できます。エラー パターンを再度整理したところ、インクルードが多すぎる mvc フレームワークでは 500 個の内部エラーが発生することがわかりました。これは、php がファイルをインクルードできなくなったことを意味します。なぜですか?

df -h
ログイン後にコピー

システムのホームディレクトリ / が爆発しました

それで、大きなファイルを検索してください

Filesystem  Size  Used  Avail Use%  Mounted on
/dev/sda1  6.8G  6.5G  17M  100%  /
...
ログイン後にコピー

PHP プラグイン Xdebug が大量のパフォーマンス分析ファイルを生成し、それらがすべて記録されていることがわかりました。

find / -type f -size +300M
ログイン後にコピー

そこで、php.iniを変更して分析ファイルを別の場所に保存するか、まったく保存しません

/tmp/profiler/cachegrind.out.1336
/tmp/profiler/cachegrind.out.1329
....
ログイン後にコピー

xdebugパフォーマンス分析ディレクトリとphp var trackingディレクトリを削除します

# close xdebug profiler in php.ini
xdebug.profiler_enable = off
ログイン後にコピー

ハードディスクのステータスを再度確認すると、使用率は 26% で、残りは 4.9G であることがわかります

rm -rf /tmp/profilter
rm -rf /tmp/trace
ログイン後にコピー

httpd サーバーを再起動したり、Web を更新したりする必要さえなく、再び正常に実行されます。

今後の問題を避けるために、スケジュールされたクリーニング ソフトウェア tmpwatch をインストールし、/etc/cron.daily/tmpwatch 設定でタイミング時間を 7d に設定する必要があります

Filesystem  Size  Used  Avail Use%  Mounted on
/dev/sda1  6.8G  1.7G  4.9M  26%  /
...
ログイン後にコピー

(日数は必ず)

usr/sbin/tmpwatch "$flags" 30d /var/tmp
ログイン後にコピー

週に一度、定期的にクリーンアップしてください

Apache 500 エラーによって引き起こされる一時ファイルの問題の分析と解決に関するその他の関連記事については、PHP 中国語 Web サイトをフォローしてください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート