2012-01-22 1 views
2

php.iniの設定を開発から運用まで管理するベストプラクティスはありますか?明らかに、手動で行うことはできますが、それは人為的なエラーが発生しやすくなります。バージョン管理で実動ファイルを作成し、開発バージョンを自動的に変更したいと思っています。私は、彼らが実行可能であるならば知らない私が持っていた 思考やアイデア:生産と開発で異なるphp.ini設定を管理するにはどうすればいいですか?

  1. のphp.iniが含まれています - ちょうど ファイルの末尾のdevの設定が含まれていますか?
  2. 条件付きのロードはapache confですか?
  3. php.iniが変更されたときにphpdev.iniの動的バージョンが生成されるようなスクリプトを書いてください - これができることが分かります
  4. 表示エラーのランタイムPHP設定を使用します。スクリプトに致命的なエラーがある場合、ランタイム設定を実行することはありません。
  5. バックアップ計画 - プロダクション版をSCに保存し、必要に応じて手動で phpdev.iniを手動で変更します。手動で間違った場合は、 開発段階で完了します。
+0

アプリケーションの展開プロセスとは何ですか?具体的には、アプリケーションをデプロイするときに、コードまたは技術スタック全体をデプロイしていますか? – jcmeloni

+0

私はそれについてもベストプラクティスが必要かもしれないと思います。理想的には私はそれを自動化された/ばかな証拠にしたいと思っています。現在、デプロイメントはハック/カスタムデータベースのアップグレードスクリプトであり、svn update – Nick

答えて

1
  1. ストアその環境にちなんで名付けられた異なるディレクトリにソースコードリポジトリであなたのini:環境/ {DEV、QA、ステージング、PROD}は、それぞれの環境で
  2. を/php.ini、次の操作を行います。rm /etc/php.ini; ln -s /var/www/site/environments/prod/php.ini /etc/php.ini

このようにして、リビジョン管理の利点が得られ、必ずしも手動で編集する必要はありません。

+0

これは私が望むものを達成する最も速い方法のようです。提案していただきありがとうございます。 – Nick

+0

私はそれが助けてうれしいです。あなたが受け入れる答えを投票することを忘れないでください。 –

+0

私はこれについてもう少し考えていましたが、テスト版の開発版で何が変わるのを防ぐのだろうかと疑問を抱いていましたが、プロダクション版は適切な変更で更新されませんでしたか?これにより、運用環境に移行したときにアプリケーションに問題が発生する可能性があります。 – Nick

0

私はこれがあなたが探しているものかどうかは正確にはわかりませんが、個人的にはセキュリティ以外の必要なphp.iniの変更をapacheの仮想ホスト設定で実行したいと思います。開発のバーチャルホスト:

ServerName sb.local 
    ServerAlias sb.local 
    DocumentRoot /srv/some-site 

    php_value session.cookie_domain "sb.local" 
php_value date.timezone "America/New_York" 
php_value mbstring.func_overload 7 
php_value default_charset "utf-8" 
AddDefaultCharset utf-8 

php_value session.gc_maxlifetime "990000" 
php_value error_reporting 30711 
# 30711 = E_ALL^E_NOTICE 
php_value display_errors "On" 
php_value display_startup_errors "On" 
php_value log_errors "On" 
php_value html_errors "On" 

など

関連する問題