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)から実行時に問題となる部分を除いたエラーと警告を出力する。
- php.ini-development
- display_errors
エラーをHTMLとして画面に出力するかどうか。- php.ini-development
出力する - php.ini-production
出力しない
- php.ini-development
- track_errors
直近のエラーメッセージを$php_errormsgに代入するかどうか。- php.ini-development
代入する - php.ini-production
代入しない
- php.ini-development
- mysqli.allow_persistent
mysqli_connect()による持続的接続の作成機能を有効にするかどうか。
php.ini-productionでのみOn。 - mysqlnd.collect_memory_statistics
phpinfo()でmysqliの使用統計を出力するかどうか。- php.ini-development
出力する - php.ini-production
出力しない
- php.ini-development
- session.bug_compat_42・session.bug_compat_warn
PHP4.2.3以前に存在する「register_globalsが無効の場合でもグローバルスコープでセッション変数の初期化を許してしまう」バグに関する警告を出力するかどうか。- php.ini-development
出力する - php.ini-production
出力しない
- php.ini-development
という事になっている模様。
だから、開発系ならphp.ini-development、運用系ならphp.ini-productionをコピーすれば良いのだろうけれど、殆どの場合はphp.ini-developmentをコピーして使って問題ないはず。
コメント
[…] 「php.ini-development と php.ini-production の違い。」のフォロー。 […]
[…] php.ini-development と php.ini-production があるのでphp.ini-productionを移動させる。両方の違いはこちら […]
[…] シカでした。:php.ini-development と php.ini-production の違い。 […]