特に表記がなければ Version 4.4.0 を使用。
Windows で簡単に PHP を導したいのならばインストーラ付の方がよい。
モジュールとして組み込めるし。
インストールディレクトリは C:\php を使用。
php.ini は Windows ディレクトリに。
Apache のバージョンは 2.0.54 を使用。

Tips 一覧

DLL形式の拡張ファイルを読み込む [ extension_dir ]

php.ini の 428 行目付近
extension_dir = "./" → extension_dir = "C:/php/extensions/"
これであとはDLL形式の拡張モジュールをロードするだけだ。
php.ini の 517 行付近「 Dynamic Extensions 」の項にある
;extension=php_xxxx.dll など必要なもののコメントアウトを削除。
Apache を再起動。php_info() 関数などでロードされていることを確認すること。

シングルクォーテーションの自動エスケープ [ Magic quotes ]

基本的にマルチバイトを考慮してあるものではないので Off にしたほうがよい。
php.ini の 382 行目付近
magic_quotes_gpc = On → magic_quotes_gpc = Off

マルチバイト文字関連の設定 [ mbstring ]

マルチバイト文字を使用するために必要な準備
php.ini の 1041 行目付近「 mbstring 」の項にある下記全てのコメントアウトを削除
output_handler = mb_output_handler
mbstring.language = Japanese
mbstring.internal_encoding = EUC-JP
mbstring.http_input = auto
mbstring.http_output = SJIS
;mbstring.encoding_translation = Off
mbstring.detect_order = auto
mbstring.substitute_character = none;
mbstring.func_overload = 0
解説
項目output_handler = mb_output_handler
意味出力バッファの文字エンコーディングを有効にする。
詳細出力制御関数 ( output control ) のoutput_handler はデフォルトでは NULL。
output_handler とは出力バッファのエンコーディング方法を指定するパラメタで
出力バッファ内で文字エンコーディングを変換するコールバック関数 ( mb_output_handler ) を指定。
またページ内で ob_start('mb_output_handler'); とすることでそのページ内に有効となる。
関連output_buffering = On // 出力バッファリングを有効にする
mb_http_output('SJIS'); // HTTP 出力文字エンコーディングを SJIS に設定する
項目mbstring.language = Japanese
意味mbstring で使用される言語設定のデフォルト値 (日本語)
詳細mbstring.internal_encoding を定義するために必要なので php.ini では mbstring.internal_encoding よりも前にくるようにすること。
関連
項目mbstring.internal_encoding = EUC-JP
意味内部文字エンコーディングのデフォルト値 ( EUC-JP )
詳細
関連
項目mbstring.http_input = auto
意味HTTP 入力文字エンコーディングのデフォルト値 (自動)
詳細
関連
項目mbstring.http_output = SJIS
意味HTTP 出力文字エンコーディングのデフォルト値 ( SJIS )
詳細
関連
項目;mbstring.encoding_translation = Off
意味HTTP 出力文字を自動で内部文字でエンコードする (無効)
詳細
関連基本的には無効にしておくのが無難
項目mbstring.detect_order = auto
意味文字コード検出のデフォルト値 (自動)
詳細
関連mb_detect_order 関数で自動検出する文字コードリストを指定するのと同意
項目mbstring.substitute_character = none;
意味無効な文字を代替する文字 (なし)
詳細Unicode 値を指定することや、コードで出力させることも可能
関連
項目mbstring.func_overload = 0
意味シングルバイト対応の関数をマルチバイト対応にした関数でオーバーロードする (なし)
詳細ビットを加算して10進数として指定
mbstring.func_overloadの値元の関数オーバーロードする関数
1mail()mb_send_mail()
2strlen()mb_strlen()
2strpos()mb_strpos()
2strrpos()mb_strrpos()
2substr()mb_substr()
4ereg()mb_ereg()
4eregi()mb_eregi()
4ereg_replace()mb_ereg_replace()
4eregi_replace()mb_eregi_replace()
4split()mb_split()
例) mbstring.func_overload = 1; // mail() 関数をコールすると mb_send_mail() 関数が代わりにコールされる
例) mbstring.func_overload = 7; // 上記全てのマルチバイト関数がオーバーロードされる
関連

メール送信に関する設定 [ send_mail ]

php.ini の 597 行目付近
「 mail function 」の項にあるそれぞれ
SMTP = localhost // SMTP サーバーのアドレス
smtp_port = 25 // SMTP で使用するポート番号
sendmail_from = me@example.com // メール差出人のメールアドレス
以上を任意に設定。

Apache で PHP を使用するために必要な設定

httpd.conf の設定
193 行目付近
項目LoadModule php4_module c:/php/sapi/php4apache2.dll
意味Apache に PHP モジュールをロードする
備考Apache 1.x では php4apache2.dll
384 行目付近 ( 要素内)
項目DirectoryIndex index.html index.php
意味ディレクトリでリクエストされたときのデフォルトで出力するページ
備考デフォルトでは index.html だけなので index.php を追加すること
721 行目付近 ( 要素内)
項目AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
意味拡張子 .php の関連付け
備考mod_mime.c 内で定義すること

トラックバック

このエントリーのトラックバックURL:
http://o29.s1.xrea.com/spais/mt-tb.cgi/16

コメント

コメントしてください




保存しますか?