php.ini-development と php.ini-production の違い。

PHPをインストールしたらphp.ini-developmentかphp.ini-productionをphp.iniとしてコピーしてという作業をするわけだけれども、何が違うのか調べてみたメモ。というかdiffしただけですけれど。

ちなみに、PHP5.3.3の場合です。

dns# diff php.ini-development php.ini-production
523c523
< error_reporting = E_ALL | E_STRICT
---
> error_reporting = E_ALL & ~E_DEPRECATED
540c540
< display_errors = On
---
> display_errors = Off
551c551
< display_startup_errors = On
---
> display_startup_errors = Off
595c595
< track_errors = On
---
> track_errors = Off
613c613
< html_errors = On
---
> html_errors = Off
1257a1258,1265
> ; Allow accessing, from PHP's perspective, local files with LOAD DATA statements
> ; http://php.net/mysqli.allow_local_infile
> ;mysqli.allow_local_infile = On
>
> ; Allow or prevent persistent links.
> ; http://php.net/mysqli.allow-persistent
> mysqli.allow_persistent = On
>
1306c1314
< mysqlnd.collect_memory_statistics = On
---
> mysqlnd.collect_memory_statistics = Off
1575c1583
< session.bug_compat_42 = On
---
> session.bug_compat_42 = Off
1584c1592
< session.bug_compat_warn = On
---
> session.bug_compat_warn = Off
1602d1609
< session.entropy_file =

基本的にはメッセージ関係の設定が行われているのがphp.ini-development、そうでないのがphp.ini-productionと考えてよさそうです。

  • error_reporting
    出力されるエラーの種類(ビット演算子を使った組み合わせ)

    • php.ini-development
      E_STRICTを除いたすべてのエラーと警告(E_ALL)+E_STRICTということだからすべてのエラーと警告を出力する。
    • php.ini-production
      E_STRICTを除いたすべてのエラーと警告(E_ALL)から実行時に問題となる部分を除いたエラーと警告を出力する。
  • display_errors
    エラーをHTMLとして画面に出力するかどうか。

    • php.ini-development
      出力する
    • php.ini-production
      出力しない
  • track_errors
    直近のエラーメッセージを$php_errormsgに代入するかどうか。

    • php.ini-development
      代入する
    • php.ini-production
      代入しない
  • mysqli.allow_persistent
    mysqli_connect()による持続的接続の作成機能を有効にするかどうか。
    php.ini-productionでのみOn。
  • mysqlnd.collect_memory_statistics
    phpinfo()でmysqliの使用統計を出力するかどうか。

    • php.ini-development
      出力する
    • php.ini-production
      出力しない
  • session.bug_compat_42・session.bug_compat_warn
    PHP4.2.3以前に存在する「register_globalsが無効の場合でもグローバルスコープでセッション変数の初期化を許してしまう」バグに関する警告を出力するかどうか。

    • php.ini-development
      出力する
    • php.ini-production
      出力しない

という事になっている模様。

だから、開発系ならphp.ini-development、運用系ならphp.ini-productionをコピーすれば良いのだろうけれど、殆どの場合はphp.ini-developmentをコピーして使って問題ないはず。

コメント

  1. […] 「php.ini-development と php.ini-production の違い。」のフォロー。 […]

  2. […] php.ini-development と php.ini-production があるのでphp.ini-productionを移動させる。両方の違いはこちら […]

  3. […] シカでした。:php.ini-development と php.ini-production の違い。 […]

タイトルとURLをコピーしました