opcacheが私の人生を台無しにし、神経を浪費した

Jackie-chan_opcache



それはすべて、ずっと前の同じ銀河での更新phpで始まりました。 そして、その瞬間から、私はかなり長い間私の人生を台無しにしていた一つの卑劣な問題に悩まされました。



phpを使用しているサイトは、ワードプレスブログ、phpbbフォーラム、小さなmodxウェブサイトのみです。 これは、nginx + php-fpmとともに機能します。 nginxはすべてできるので、基本的にApacheは使用しません。 各fpmには独自のアカウント、独自のホームがあり、すべてが虐殺されて切断されるため、私の妄想を満足させるだけです。



そして、非常に古いアップデートの後、奇妙なことが始まりました。 いずれかのサイトを開いてから別のサイトを開いたときに、前のサイトからエラーを受け取りました。



つまり、phpbbでサイトを開いてからmodxでサイトを開くと、phpbbからアンインストールされたブロックに関するエラーが表示されました。 ある奇妙な方法で、あるfpmストリームが別のディレクトリ、別のポート、別のグループの別のユーザーで作業している別のスクリプトにアクセスしていたように...



それ以来、大量の水が流れ、nginxの構成が何度か書き直され、fpmsが変更され、ポートの代わりに.sockが使用されました。 結果は同じでした。2つの異なるサイトをすばやく開くと、最初のサイトからの答えが返され、2番目のサイトでは最初のサイトのエンジンの不具合が発生しました。



サイトが人気があった場合、私は解決策を見つけるようにアドバイスしていましたが、フォーラムは半分死んでしまい、数人がmodxと同様にブログを訪れました。 そして数日前、仕事中にサーバー上で整理しながら、 Ubuntu 14.04でNginxとPhp-fpmを使用して複数のWebサイトを安全にホストする方法に関する興味深い記事をGoogleで検索しました



そして、この引用が「フーは誰なのか」を私に明らかにしました。

驚くべきことに、テスト手順をまったく同じ順序で再度実行すると、所有権と許可に関係なく機密ファイルを読み取ることができます。 opcacheのこの問題は長い間報告されていますが、この記事の時点ではまだ修正されていません。


私は自分に言いました: 「これはopcacheが過去7か月間私のfpmを使い果たしており、キャッシュを取得せずにポップアップし、不幸なCMSに塔を破壊していることを意味します!」



opcache.enable=0



小さな編集



そして...問題は消えました。 彼女はもういません。 3つの不幸なサイトが幸福に機能しており、サーバーは384年に換気口を一掃し、nに触れて、いくつかのトラックを聴きさえしました。



opcacheを無効にすると何が失われましたか? opcache。 これは私のパフォーマンスにどのように影響しましたか? まさか。 RAIDサーバーでnginxキャッシュを使用し、8コアが平均5〜10%読み込まれます。 したがって、PHPリソーススクリプトの余分な解析は消費されません。 また、ストレステストを含め、視覚的には何も遅くなりません。



特別な場合? たぶん。 すでにバグではありませんか? かなり。 なぜphp7ではありませんか? なぜなら。 更新しますか? いやいや、JSPでコードを書きます。



All Articles