本ガイドでは、Windowsプラットフォーム上でPHP 5.6(VC11ビルド)とApache HTTP Server 2.4を連携させるための実践的設定手順を解説します。依存関係の解決から仮想ホスト導入まで、一貫した動作確認を前提とした構成を提供します。
前提条件と準備
- PHPバイナリ:公式推奨のphp-5.6.27-Win32-VC11-x64.zipをダウンロードし、
D:\phpに展開 - Apacheサーバ:ApacheLoungeからhttpd-2.4.23-win64-VC14.zipを取得し、
D:\Apache24へ配置 - ランタイム依存:Microsoft Visual C++ 2012再頒布可能パッケージ(x64版)がインストール済みであること(
vcredist_x64.exe)
基本設定手順
- 環境変数の更新
システムのPATHに以下のパスを追加:
D:\php;D:\php\ext - Apacheのルート設定
D:\Apache24\conf\httpd.confを開き、ServerRootディレクティブを次のように修正:
ServerRoot "D:/Apache24" - サーバ名とポート指定
ServerNameを明示的に定義し、ポート不整合を回避:
ServerName localhost:8082 Listen 8082 - ドキュメントルートの再定義
DocumentRoot "D:/Apache24/htdocs" <Directory "D:/Apache24/htdocs"> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> - PHPモジュールの有効化
httpd.conf末尾に以下を追加:
# PHP 5.6 integration LoadModule php5_module "D:/php/php5apache2_4.dll" AddHandler application/x-httpd-php .php .html .htm PHPIniDir "D:/php"
サービス登録と起動確認
管理者権限でコマンドプロンプトを起動し、以下のコマンドでApacheをWindowsサービスとして登録:
D:\Apache24\bin\httpd.exe -k install -n "Apache24"
その後、サービスを開始:
net start Apache24
ブラウザで http://localhost:8082 にアクセスし、「It works!」メッセージが表示されれば、Apache単体の動作は正常です。
仮想ホストによるマルチサイト構成
httpd.conf内のコメントを外して仮想ホスト設定を有効化:
Include conf/extra/httpd-vhosts.confconf/extra/httpd-vhosts.confを編集し、次の構成を追加:
<VirtualHost *:8082> DocumentRoot "D:/Apache24/htdocs/project-alpha" ServerName localhost <Directory "D:/Apache24/htdocs/project-alpha"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost>- 重要制約事項:仮想ホストの
DocumentRootは、Apacheの<Directory>セクションで明示的に許可されたパス内に存在する必要があります。外部ドライブや上位階層への参照は、デフォルトでは拒否されます。
トラブルシューティングの要点
- ポート不一致エラー:
Listen、VirtualHost、ServerNameのポート番号がすべて同一であることを検証してください。 - アクセス拒否(403):対象ディレクトリに対し
<Directory>ブロックでRequire all grantedが適用されているか確認します。 - PHPスクリプトの無効化:
AddHandlerディレクティブの拡張子リストに.phpが含まれ、php5apache2_4.dllのパスが正確であることを再確認してください。