私たちは、それぞれ独自のvServer上にSilverstripeインストールをたくさん用意しています。 展開は展開サービスによって行われます。 各インスタンスの電源は、nginx
とphp5.6-fpm
です。Silverstripe TEMP_FOLDERはfpmとcliとで異なります
展開が実行されている場合、通常のbuild/flush
アクションは展開サービスによってsshコマンドとして実行されます。
cli
のタスクは、php5.6-fpm
のように同じユーザーが実行します。
しかし、PHP-バージョンが一致しない(fpm+cli
)
これは、これは本当に悪いです2つの異なるキャッシュディレクトリ
/tmp/silverstripe-cache-php5.6.23... (fpm)
と
/tmp/silverstripe-cache-php5.6.29... (cli)
になります。例: ConfigManifest
の内部に格納されている新しい静的クラス変数があります。 しかし、それはcliバージョンと一致するキャッシュディレクトリのマニフェストにのみ格納されます。
最悪の場合:ウェブサイト(php5.6-fpm
用法)を閲覧するとき、この設定変数はわかりません。これは、server errors (500)
につながる可能性があります。これは、fpmのマニフェストが新しいconfigクラス変数を知らないためです。
これを修正する方法はありますか?
敬具、ロバート
cliとfpmのユーザーとPHPのバージョンが同じであることを確認してください。 – wmk
@wmk - これは難しい作業です – derRobert
なぜですか?あなたはマシンにインストールされていて、 'sudo'を使うことができます... – wmk