5

私は最近、Apache 2.2.15、PHP 5.4.11、および APC 3.1.14 を使用して、Web サーバーを Centos 6.3 に切り替えました。

ページが機能しない、または奇妙なエラーが表示されるという顧客からの苦情を時折受け取るようになりました。ソースに問題はありませんが、影響を受けるページには疑問符やその他の奇妙な記号が出力のランダムな場所にあることがわかりました。ソース ファイル内の 1 文字を変更すると、ページが正常に機能し始めます。

私は APC を疑っていますが、いつ、なぜこれが起こるのか、手がかりが見つかりません。

私は Mercurial を使用して変更を本番環境にプッシュしますが、このアプローチを何年も問題なく使用しています。構成の何かが新しいものになっているのかもしれませんが、残念ながら古い構成を保持していません。

以下は、前回の破損のスクリーンショットです。

破損した ajax レスポンスのスクリーンショット

編集: ソース内の 1 文字を変更して保存し、ファイルを元に戻した後の応答は次のとおりです (Web サーバーを再起動するか、APC オペコード キャッシュをクリアした場合も同様です)。

修正後のスクリーンショット

行番号が一致していないことに注意してください。ただし、100% 同じ要求であるため、応答も同じである必要があります。最初のスクリーンショットの 111 行目はまったく存在しないはずです。別のソースファイルからのもののようです...

4

1 に答える 1

0

apc.stat_ctimeを 1に変更しました

ctime による検証は、svn や rsync などのプログラムによって引き起こされる問題を回避するために、inode が最後の統計以降に変更されていないことを確認します。APC は通常、mtime のみをチェックします。

この問題は週に 1 ~ 2 回発生しているため、この問題を注意深く監視し、問題が解決した場合はここに投稿します。

于 2013-01-29T11:08:48.273 に答える