2

Ubuntu 12.04 LTS で Nginx 1.1.19 と PHP 5.5.7 を実行するサーバーをセットアップしています。opcache が有効になっている場合、mydevelopmentproduction環境の両方で同一のファイルが存在する場合、そのファイルは常に から実行されproductionます。ただし、いずれかのファイルで 1 文字だけ変更すると、PHP は適切なスクリプトを正しく実行します。

たとえば、同じプロジェクトを 2 つの異なるディレクトリに複製し、2 つの間で変更する唯一のものがAPP_ENV構成ファイルの環境変数である場合、ブラウザでdevelopment環境を指定すると、構成からのすべてのデータベース パラメータproductionが読み込まれました。

オフopcacheにすると、奇妙な動作が止まり、すべてが期待どおりに機能します。

opcachePHP に正しいスクリプトの場所を強制的に解決させるように設定できる構成パラメーターはありますか? に設定しようとしrevalidate_pathましたが、問題が切り替わっただけです (どちらか1を指すか、常に環境が生成されました。productiondevelopmentdevelopment

今のところopcacheオフにしたばかりですが、詳しく知りたいです。

4

1 に答える 1

0

簡単な回答: はい - ServerFault に関する回答から取得したもので、同様の質問に回答しました:

アプリケーションの OpCache の構成に対してopcache.use_cwdパラメータが に設定されていることを確認してください。デフォルトで に設定されており、システムで複数の PHP アプリケーションをホストしている場合、デフォルトのままにすると衝突が発生する可能性があります...truefalse

最初に出荷されたときopcache.us_cwd、デフォルトに設定されてfalseいました-Zend自体からUbuntu 14.04 Zend Server AMIで取得する方法ですが、一部の最新のディストリビューションではデフォルト設定がfalseからtrueに変更されたと聞いています. 個人的には見たことがありませんが、 TerryEのコメントが Web ホストの特定の構成に対して正確であるかどうかを検証するために、セットアップを確認する価値があります。

于 2015-07-15T13:42:17.250 に答える