投稿アップデート情報 追記(2012/4/11)
- さて,Perlの再導入。ActiveStateからActivePerl-5.14.2.1402-MSWin32-x86-295342.msi を落としてきた。すべてデフォルトでインストール。
完了したら,コンソール(=コマンド プロンプト)を開き,
>perl -v
これで,バージョン情報などが表示されれば,正常。パスも通っていることがわかる。Apacheのhttpd.confを開けて以下を変更。
AddHandler cgi-script .cgi をアンコメントし,.pl を追加。printenv.plを/Apache2.2/cgi-bin から G:/WEB/cgi-bin にコピーし,これの一行目を#!(ドライブ文字):/Perl/bin/Perlに書き換える。
Apacheを起動して,ブラウザから, http://localhost/cgi-bin/printenv.plにアクセス。環境変数の一覧が表示されれば,Perl再導入完了。printenv.plはcgi-binフォルダから削除しておく。←セキュリティのため。
- 次は,PHPの再導入。
サーバソフトが,Apache2系なので,PHP For WindowsからThread Safe版の php-5.3.8-Win32-VC9-x86.zip を落としてきて,ファイルを展開する。Thread Safe / Non Thread Safe の注意事項は,展開ファイル内のinstall.txtに書いてある。また,5.3.6からVC6でコンパイルされたものがなくなったので,現在の最新バージョン5.3.8についても,Apache.org版では使えない。 —->> 本家のお世話-#14。参照のこと。
フォルダ名をphp-5.3.8-Win32-VC9-x86からPHPに変更し,Apacheと同じドライブにフォルダごと移動。ファイル名 php.ini-production を php.ini に変更して,カスタマイズ。
書かれていることの大部分についてなるほどと思ったので,mbstring関連のカスタマイズ内容を「PHPの文字化けを本気で解決する」を参考に,少し変更した。うちの場合は,文字セットがUTF-8であるのははっきりしているので,detect_order は我が家用の順序になっている。デフォルト カスタム 1 ;default_charset = "iso-8859-1" default_charset = "UTF-8" 2 ; extension_dir = "ext" extension_dir = "(ドライブ文字):PHPext" 3 allow_url_fopen = On allow_url_fopen = Off 4 ;extension=php_curl.dll extension=php_curl.dll 5 ;extension=php_gd2.dll extension=php_gd2.dll 6 ;extension=php_mbstring.dll extension=php_mbstring.dll 7 ;extension=php_mysql.dll extension=php_mysql.dll 8 ;extension=php_mysqli.dll extension=php_mysqli.dll 9 ;date.timezone = date.timezone ="Asia/Tokyo" 10 ;sendmail_from = me@example.com sendmail_from = 自分のメールアドレス 11 ;mbstring.language = Japanese mbstring.language = Japanese 12 ;mbstring.internal_encoding = EUC-JP mbstring.internal_encoding = UTF-8 13 ;mbstring.http_input = auto mbstring.http_input = pass 14 ;mbstring.http_output = SJIS mbstring.http_output = pass 15 ;mbstring.encoding_translation = Off mbstring.encoding_translation = Off 16 ;mbstring.detect_order = auto mbstring.detect_order = UTF-8,ASCII,SJIS,EUC-JP,JIS 17 ;mbstring.substitute_character = none mbstring.substitute_character = none 今回は再導入なので既に済んでいるが,初めての場合は,(ドライブ文字):PHP にパスを通すのを忘れないこと。
モジュール版での使用を可能にするために,httpd.confを開けて,
DSO Supportの区画に,LoadModule php5_module "C:/PHP/php5apache2_2.dll" を追加。LoadModule はアルファベット順に並んでいるのでそのつもりで追加すればよい。<IfModule mime_module> 区画の最後に,以下の2行を追加。
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps</IfModule>の後に,php.iniの場所を指定してやるために以下を挿入。
<IfModule mod_php5.c>
AddType application/x-httpd-php .php
PHPIniDir "(ドライブ文字):/PHP"
</IfModule>ここで一応,コンソール(=コマンド プロンプト)を開き,
>php -v
これで,バージョン情報などが表示されれば,正常。パスも通っていることがわかる。
- php.ini のカスタマイズで,extension=php_curl.dll をアンコメントしたので,cURL も再導入する。
cURL for Win32 platformに行って,curl-7.23.1-devel-mingw32.zip を落としてきて展開。
cURL for Win32 platformには,ずらっとさまざまなファイルが並んでいるので,初めてのときは,http://curl.haxx.se/download.htmlに行ってDownload Wizard を使ったほうが無難だと思う。
展開したファイルの中から,curl.exeを(ドライブ文字):/PHPに移動。libeay32.dllは(ドライブ文字):/PHP 中に,よりタイムスタンプの新しいものがすでにあったので,一応そのまま。後で不都合が起こったら,curl-7.23.1-devel-mingw32.zip に含まれてたのに替えることにしようと思う。この2ファイルの置き場所は,パスの通ったところならほかのところでも構わない。
- <?php phpinfo() ?> を記入したtest.phpを作ってドキュメントルートに置き,Apacheを起動して http://localhost/test.php にアクセス。phpinfoが表示されれば,導入完了。
test.phpはドキュメントルートから削除し,php.ini で,次の書き換えをしておく。←セキュリティのため。
disable_functions = —–>> disable_functions ="shell_exec, suexec, passthru, phpinfo"
追記(2012/4/11):
PHP導入についての新しい記事を,本家のお世話-#28。,本家のお世話-#29。に書いた。