php.iniでよくやる設定まとめ

日本語環境への対応のためとかセキュリティのためとかで弄っておいた方がいいらしいものをまとめてみた。よくわからんのは無視しちゃってるので、参考サイト様の方を見た方がいいと思います(ぇ

ディレクティブ名 説明 推奨値
allow_call_time_pass_reference 関数の呼び出し側で参照呼び出しを許可するかどうか。 Off
expose_php PHPのバージョン等を表示させるかどうか Off
display_errors エラー文を表示させるかどうか Off(運用時)
log_errors エラーをログに残すかどうか On
log_errors_max_len ログのサイズ 4096(目安)
error_log ログファイル作成場所 (任意)
register_globals(PHP6で削除) フォームからの変数をプログラム側に反映させるかどうか Off
register_long_arrays(PHP6で削除) 「$HTTP_GET_VARS」のような定義済みの長いPHP変数を定義できるようにするかどうか Off
register_argc_argv 変数argvとargcを宣言するかどうか Off
magic_quotes_gpc(PHP6で削除) GPC(Get/Post/Cookie) 処理に関する magic_quotes の設定 Off
default_charset 文字エンコーディングの設定 (任意)
file_uploads ファイルアップロード機能を使うかどうか (使わない場合はOff)
allow_url_include リモートスクリプトにアクセス(include(), require())するかどうか Off(必要に応じてプログラム内からOn, Offの制御を行う)
session.use_only_cookies セッションIDをURLに埋め込む攻撃を防ぐかどうかURLに付加されたセッションIDを認識するかどうか 1(防ぐ) (認識しない)
session.gc_divisor すべてのセッションの初期化過程でgc(ガーベッジコネクション)プロセスも始動する確率 1000(サーバーの忙しさに応じて)
session.hash_function md5を使うかsha1を使うか 1(0…md5, 1…sha1
session.cookie_httponly JavaScriptでセッションIDを利用するかどうか 1(0…利用する, 1…利用しない)
mbstring.internal_encoding 内部文字エンコーディングのデフォルト値 UTF-8(任意)
mbstring.language 言語環境 Japanese
short_open_tag PHPタグの短縮型()を使用可能にするかどうか Off
variables_order Environment(環境変数), Get, Post, Cookie, Server変数のパースの順番を設定 GPCS($ENVでなくgetenvを変わりに使うべきらしい)