インストール・動作環境設定php.ini の設定例
設定例(PHP Version 4 / Shift_JIS)
unknown
「php.ini」の場所は、Windows OS のバージョンによって異なります。
Windows OS のバージョン | php.ini の場所 |
---|---|
Windows 9x、Windows Me、Windows XP | C:\WINDOWS |
Windows 2000 | C:\WINNT |
設定を下記のように編集したら、上書き保存します。
Data Handling
使用する文字コードによってを、これらの設定が多少異なります。
register_globalsをOnにするとセキュリティ上安全ではありません。 PHPでは変数の初期化が不要なため、あえて変数の初期化を記述していない場合は、変数を違う値に上書きされる危険性があります。 例えば、ログイン認証などを偽装することもできてしまいます。
register_globalsをOffにしたからといって絶対安全というわけではありませんが、Onにする場合は特に、 「変数は全て初期化してから使用する」、「外部から来る変数を参照する場合はスーパーグローバル変数を使用する」などの対策をする必要があります。
magic_quotes_gpcをOnにすると、シングルクウォート、ダブルクウォート、バックスラッシュ、NULLがバックスラッシュでエスケープ処理されます。
PHPファイルの文字コード、出力をShift-JISに設定する場合
;; 出力バッファリングを有効 output_buffering = On ;; mb_output_handlerによる出力変換を有効 output_handler = mb_output_handler ;; EGPCS(Environment,GET,POST,Cookie,Server)変数をグローバル変数として登録しない register_globals = Off ;; GPC(GET,POST,Cookie)データをエスケープ処理しない magic_quotes_gpc = Off ;; HTTPヘッダcharsetを設定 default_mimetype = "text/html" default_charset = "Shift_JIS"
PHPファイルの文字コード、出力をEUC-JPに設定する場合
;; 出力バッファリングを無効 output_buffering = Off ;; mb_output_handlerによる出力変換を有効 output_handler = mb_output_handler ;; EGPCS(Environment,GET,POST,Cookie,Server)変数をグローバル変数として登録しない register_globals = Off ;; GPC(GET,POST,Cookie)データをエスケープ処理しない magic_quotes_gpc = Off ;; HTTPヘッダcharsetを設定 default_mimetype = "text/html" default_charset = "EUC-JP"
Paths and Directories
ファイルパスの設定。下記は、C:\php
に置いている場合の設定例です。
;; require()、include()、fopen_with_path() 関数がファイルを探すディレクトリを指定 ;; 複数指定する場合は、セミコロン区切りでディレクトリを指定 ;; デフォルト値は . (カレントディレクトリのみ) ;; Windows: "\path1;\path2" include_path = ".;c:/php/includes" ;; サーバーにおけれうPHPのルートディレクトリを指定 doc_root = "C:/Program Files/Apache Group/Apache2/htdocs" ;; 動的にロード可能な拡張モジュールを置くディレクトリを指定 ;; Directory in which the loadable extensions (modules) reside. extension_dir = "c:/php/extensions/"
File Uploads
ファイルのアップロードの有無、アップロードするファイルの最大バイト数の設定。
;; HTTPファイルアップロードを有効とするか file_uploads = On ;; アップロードされるファイルの最大サイズ ;; 単位は、K(キロバイト)、M(メガバイト)を指定 ;; PHP 5.1.0 以降は G(ギガバイト)もOK upload_max_filesize = 2M
Windows Extensions
使用するDLLをコメントアウト。
;; Windows Extensions
extension=php_mbstring.dll
extension=php_zip.dll
Module Settings [mail function]
メールの送信設定。
[mail function] ;; For Win32 only.(Windows OS のみで使用される) ;; プロバイダのSMTPサーバーのDNS名またはIPアドレスを指定 SMTP = xxx.abc.ne.jp ;; ポート番号の指定 smtp_port = 25 ;; For Win32 only.(Windows OS のみで使用される) ;; PHPから送信されるメールにおいて'From:'に使用するメールアドレスを指定 sendmail_from = hoge@xxx.abc.co.jp
Module Settings [Session]
セッション管理の設定。
;; 保存ハンドラに渡される引数を定義 ;; デフォルトは /tmp session.save_path = c:/php/tmp ;; クライアント側にセッションIDを保存する際にクッキーを使用するか ;; デフォルトは 1(有効) session.use_cookies = 1 ;; セッション名の指定(クッキー名としても使用される) ;; デフォルトは PHPSESSID session.name = PHPSESSID ;; リクエスト開始時にセッションモジュールがセッションを自動的に開始させるか ;;デフォルトは0(無効) session.auto_start = 0 ;; ブラウザに送信するクッキーの有効期限を秒単位で指定 ;; デフォルトは0(ブラウザを閉じるまで) session.cookie_lifetime = 0 ;; session_cookie で設定するパスを指定 ;; デフォルトは / session.cookie_path = / ;; シリアル化データを復元する為に使用されるハンドラの名前を定義 ;; デフォルトは php session.serialize_handler = php ;; gc(ガーベッジコレクション)のルーチンの始動を制御 ;; デフォルトは 1 session.gc_probability = 1 ;; 全てのセッション初期化過程でgcプロセスも始動する確率を制御 ;; デフォルトは 100 session.gc_divisor = 100 ;; データがゴミとみなされ消去されるまでの秒数 session.gc_maxlifetime = 1440 ;; session.bag_compat_warn を有効にしている場合は0(無効)にします ;; 両方有効にするとWarningメッセージが表示されます session.bug_compat_42 = 0 ;; PHP 4.2.3 以降は、register_globals=Offでもグローバルスコープで ;; セッション変数の初期化を許してしまうドキュメント化されていないバグがあるため ;; 上のsession.bug_compat_42とこの機能を両方とも有効にしていると ;; PH 4.3.0 以上で Warning メッセージが表示されます session.bug_compat_warn = 1 ;; 読み込むバイト数の指定 ;; デフォルトは 0(無効) session.entropy_length = 0 ;; セッションページにおけるキャッシュの制御方法 ;; デフォルトは nocache(キャッシュしない) session.cache_limiter = nocache ;; キャッシュされたセッションページの有効期限を分単位で指定 ;; デフォルトは 180 session.cache_expire = 180 ;; 透過的なセッションIDを付加するか ;; デフォルトは 0(無効) session.use_trans_sid = 0
Module Settings [mbstring]
マルチバイトエンコーディング、シングルバイトエンコーディングの処理設定。
使用する文字コードによってを、設定が多少異なります。
PHPファイルの文字コード、出力をShift-JISに設定する場合
[mbstring] ;; デフォルト言語を日本語に設定 mbstring.language = Japanese ;; デフォルトの内部エンコーディングをSJISに設定 mbstring.internal_encoding = SJIS ;; HTTP入力エンコーディングをautoに設定 mbstring.http_input = auto ;; HTTP出力エンコーディングをSJISに設定 mbstring.http_output = SJIS ;; HTTP入力変換を有効にする mbstring.encoding_translation = On ;; デフォルトの文字コード検出順序をautoに設定 mbstring.detect_order = auto ;; 無効な代替文字を出力しない mbstring.substitute_character = none;
PHPファイルの文字コード、出力をEUC-JPに設定する場合
[mbstring] ;; デフォルト言語を日本語に設定 mbstring.language = Japanese ;; デフォルトの内部エンコーディングをEUC-JPに設定 mbstring.internal_encoding = EUC-JP ;; HTTP入力エンコーディングをautoに設定 mbstring.http_input = auto ;; HTTP出力エンコーディングをEUC-JPに設定 mbstring.http_output = EUC-JP ;; HTTP入力変換を有効にする mbstring.encoding_translation = On ;; デフォルトの文字コード検出順序をautoに設定 mbstring.detect_order = auto ;; 無効な代替文字を出力しない mbstring.substitute_character = none;
cgi-binフォルダ内の画像表示を有効にする
2007/7/14
デフォルトでは、CGIフォルダ内の画像ファイルは認識されません。 CGIフォルダ内に置いたカウンター画像を呼出表示する場合は、赤字部分を追加します。 以下の設定は、拡張子が gif、jpg、png の画像ファイルを有効にしています。
# "C:/Program Files/Apache Group/Apache2/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. <Directory "C:/Program Files/Apache Group/Apache2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all AddHandler image/gif .gif AddHandler image/jpg .jpg AddHandler image/png .png </Directory>