2008年06月11日

php.ini

 前回の予告通り、php.ini のお話をしようと思います。

 さくらインターネットの場合、/www/ の直下に php.ini を置くことで、PHP の設定を変更することができます。私の場合は、以下のように設定しています。

short_open_tag = Off
display_errors = On
error_reporting = E_ALL & ~E_NOTICE
output_buffering = Off
output_handler = none
register_globals = Off
magic_quotes_gpc = Off

precision = 12
safe_mode_exec_dir = ""

include_path = ".:/usr/local/php-5.2.6/lib/php:/home/trend-antenna/pear/php"

[mbstring]
mbstring.language = Japanese
mbstring.internal_encoding = NULL
mbstring.http_input = pass
mbstring.http_output = pass
mbstring.encoding_translation = Off
mbstring.detect_order = UTF-8,EUC-JP,SJIS,JIS,ASCII
mbstring.substitute_character = none;

 前回持ち越しにした、ローカル版の PEAR を使いやすくするための設定は、include_path の部分です。

 他の設定のポイントとしては、register_globals は、セキュリティ上の問題があるので off に、magic_quotes_gpc は、PHP 側で処理を任せると何をしているのか見えにくくなってしまうので off に設定しています。
 mbstring 関係も基本的には PHP 任せにせずに、スクリプトで処理するようにしています。上記の設定項目は、文字コードの自動変換に関係するものが多いのですが、自動変換がはさまることで、かえって文字化けが発生することも少なくないからです。

 あと php.ini 関連で注意すべきところとしては、さくらインターネットの場合、php.ini を置いたときと置かなかったときで設定内容が変わります。私が確認した限りでは、以下のパラメータが異なっていました。

パラメータphp.ini なしphp.ini あり
allow_call_time_pass_referenceOffOn
display_errorsOffSTDOUT
error_logsyslogno value
error_reporting4177no value
extension_dir.//usr/local/php-5.2.6/lib/php/extensions/no-debug-non-zts-20060613
log_errorsOnOff
max_input_time60-1
output_bufferingno value0
precision1214
safe_mode_exec_dirno value/usr/local/php/bin
upload_max_filesize5M2M
mbstring.internal_encodingEUC-JPISO-8859-1
mbstring.languageJapaneseneutral
url_rewriter.tagsa=href,area=href,frame=src,input=src,form=,fieldset=a=href,area=href,frame=src,form=,fieldset=

 php.ini を設定する場合に、上記の項目について何も記述しないと、上記の「php.ini あり」の設定が使用されるため、必要に応じて設定を明示的に書く必要があると思います。

posted by まいける at 00:51 | Comment(0) | TrackBack(0) | PHP
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/15892598
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック