※Apache2.2が「C:\Opt\Apache2.2」にインストールされている前提
http://windows.php.net/download/
phpのバージョンが新しすぎると動かないので、少し古いものを入れる
アーキテクチャはapacheと合わせる。apacheがx86なのにphpをx64にすると動かない
現在最新はPHP 5.3 (5.3.28)
なので、x86版のスレッドセーフ版を利用
http://windows.php.net/downloads/releases/php-5.3.28-Win32-VC9-x86.zip
ダウンロードした「php-5.3.28-Win32-VC9-x86.zip」を解凍する。
解凍したフォルダ名を「php」にリネームし、「php」フォルダごと「C:\Opt」に移動する。
C:\Opt\php
「php」フォルダ内にある「php.ini-development」ファイルを「php.ini」にリネームし、「C:\WINDOWS」フォルダ内にコピーする。
ソースが表示されてしまう場合は以下を実施
short_open_tag = Off
↓
short_open_tag = On
;output_handler =
↓
output_handler = mb_output_handler
;default_charset = "UTF-8"
↓
default_charset = "UTF-8"
;include_path = ".;c:\php\includes"
↓
include_path = ".;c:\Opt\php\includes"
doc_root =
↓
doc_root = "C:\Opt\Apache2.2\htdocs"
; extension_dir = "ext"
↓
extension_dir = "ext"
;extension=php_mbstring.dll
↓
extension=php_mbstring.dll
;extension=php_gd2.dll
↓
extension=php_gd2.dll
;date.timezone =
↓
date.timezone = "Asia/Tokyo"
;sendmail_from = me@example.com
↓
sendmail_from = 管理者メールアドレス
;mbstring.language = Japanese
↓
mbstring.language = Japanese
;mbstring.internal_encoding = UTF-8
↓
mbstring.internal_encoding = UTF-8
;mbstring.http_input = UTF-8
↓
mbstring.http_input = auto
;mbstring.http_output = pass
↓
mbstring.http_output = utf-8
;mbstring.encoding_translation = Off
↓
mbstring.encoding_translation = On
;mbstring.detect_order = auto
↓
mbstring.detect_order = auto
;mbstring.substitute_character = none
↓
mbstring.substitute_character = none
;mbstring.func_overload = 0
↓
mbstring.func_overload = 0
postgreSQLを使う場合
;extension=php_pgsql.dll
↓
extension=php_pgsql.dll
;extension=php_pdo_pgsql.dll
↓
extension=php_pdo_pgsql.dll
C:\Opt\Apache2.2\conf\httpd.confをメモ帳などで開く
#LoadModule rewrite_module modules/mod_rewrite.so
↓
LoadModule rewrite_module modules/mod_rewrite.so
追加
↓
LoadModule php5_module "C:\Opt\php\php5apache2_2.dll"
LoadModule php5_module "C:\Opt\php\php5ts.dll"
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
↓
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
<IfModule alias_module>
ScriptAlias /cgi-bin/ "C:/Opt/Apache2.2/cgi-bin/"
</IfModule>
↓
<IfModule alias_module>
ScriptAlias /cgi-bin/ "C:/Opt/Apache2.2/cgi-bin/"
# PHPフォルダの場所
ScriptAlias /php/ "C:/Opt/php/"
PHPIniDir "C:\Windows"
</IfModule>
※PHPIniDirが正しくないと、phpinfo()の結果に反映されないので、ここを疑うこと!
<Directory "C:/Opt/Apache2.2/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
↓
<Directory "C:/Opt/Apache2.2/cgi-bin">
AllowOverride None
Options Indexes FollowSymLinks ExecCGI
Order allow,deny
Allow from all
</Directory>
<IfModule mime_module>
#AddHandler cgi-script .cgi
#AddType text/html .shtml
↓
<IfModule mime_module>
# コメントを外す
AddHandler cgi-script .cgi
AddType text/html .shtml
# 以下を追加する
AddHandler server-parsed .shtml
AddHandler server-parsed .html
AddHandler application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
アクセス権をきちんとしない場合は、以下はやらなくてもいい。逆に見れなくなってしまう。。。
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
↓
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
以下のパスをPATHに追加する
C:\Opt\php;C:\Opt\php\ext
phpinfo.phpというファイルをapcheのhtdocsに置く。中身は以下のとおり
<?
phpinfo();
?>
ブラウザで以下にアクセスする
http://localhost/phpinfo.php
※ソースが表示されてしまう場合は、php.iniのshort_open_tagがonかどうかを確認する
2014/8/6
最終更新:2014年08月10日 13:02