0

多くのデフォルトの php.ini 値を変更した Web アプリがあります。short_open_tag = Offexpose_php = Offmemory_limit = 128Mなど。スケールして別のアプリサーバーをオンラインにする必要がある場合の現在の展開戦略には、最新バージョンの php.ini を持つ「新しい」サーバーにアプリを複製することが含まれます。私たちの場合、Debian) php.ini ファイル。

現在、カスタマイズした php.ini ファイルをリポジトリに保存し、クローンを作成するときにそれをデプロイしていますが、最近、新しいクローン アプリケーション サーバーが PHP 5.4+ で起動したときに、非推奨の構成値に関連する問題に遭遇しました。これにより、構成ファイルが壊れてしまい、これをどのように処理するのが最善かを考えさせられました。新しいディレクティブを含む可能性のあるデフォルトの最新のphp.ini を使用し、非推奨のディレクティブを削除してから、必要な設定を「ローカルに」オーバーライドできるようにしたいと考えています。

私たちが検討した解決策には.htaccessファイルとini_set()の使用が含まれますが、ここでの 3 つの欠点は、いくつかの設定は php.ini でしか調整できないという事実、.htaccess が cli スクリプトによって使用されないという事実、およびサイトにアクセスする各ユーザーに関連するという事実に関連しています。 Apache を介して、 を処理する.htaccessか呼び出しを行う必要がini_set()あり、不要なオーバーヘッドが発生します。また、使用している PHP のバージョンをフリーズして、一度展開すると php.ini に更新や変更が加えられないようにすることも検討しましたが、マイナーな更新を見逃す可能性があるため、この戦略が最適かどうかはわかりません。セキュリティ関連など

PHP エンジン設定を移植可能にデプロイすることに関連するオプションを見逃していませんか?

4

1 に答える 1

0

上記の @PeeHaa によって提供された指示に従って、アプリケーションを ( Composer経由で) 特定の PHP バージョンにロックし、Apache2 と CLI の両方でその PHP バージョンのデフォルト php.ini ファイルを取得し、設定に追加することにしました。これはリポジトリにプッシュされ、必要に応じて展開時およびファイルへの git 変更時にコピーされます。

参考までに、私たちの Debian 環境では、最新以外の特定のバージョンの PHP をインストールするという点で、ここで概説した戦略に従いました。

于 2013-07-04T21:22:47.407 に答える