でApacheを導入できたので加えてPHPも導入する。
環境
Windows10 pro 64bit
Apache HTTP Server 2.4.48
PHP 8.0.10
構築条件
Apacheの導入が済んでいる
サーバのルートパス(ServerRoot)は「c:\server/Apache24」とする
ホームページのルートディレクトリは「 c:\server\storage\public_html」とする
PHPのルートパスは「C:\server\php」とする
PHPとは
動的に html を作る仕組み。PHPなしでは基本的に決められた(静的)ページしか扱えない。
PHPの機能を使えば.html(.php) の中に html を作る為の手順を書いておいてページが見られる際に書いておいた手順に従って html を作るようなイメージになる。
PHP言語はプログラマブルな言語で、変数の使用、条件分岐、データベースとの連携などが行えるため状況に応じて見た目が違うページ(html)を作れる。
PHPのダウンロード
PHPの公式サイトにアクセス → https://www.php.net
上部メニューより「Downloads」をクリック。
ダウンロードしたいバージョンの「Windows downloads」をクリック。
環境に合わせたものの「Zip」からダウンロード。ここではVS16 x64 Thread Safe版。
ダウンロードしたファイルを解凍
ダウンロードしたZipファイルを「C:\server\php」に解凍。
php/php.ini の準備と編集
「php.ini-development」というファイルをコピーして「php.ini」という名前にする。
php.ini の中の拡張機能フォルダの設定「extension_dir」を有効化して、パスを「C:/server/php/ext」にしておく。
extension_dir = "C:/server/php/ext"
Apache24\conf\httpd.conf の編集
ApacheにPHPモジュールをロードさせるため以下を追加。
LoadModule php_module c:/server/php/php8apache2_4.dll
PHPの設定ファイル「php.ini」があるフォルダの設定を追加。
<IfModule php_module> PHPINIDir "C:/server/php" </IfModule>
.php というファイルは PHP翻訳させるようにするための設定。
デフォルトで下記のようにコメントで記載があるようなのでコメントを外す。
【修正前】 <IfModule mime_module> ~ #<FilesMatch "\.php$"> # AddHandler php-script .php # AddType application/x-httpd-php .php #</FilesMatch> #<FilesMatch "\.html$"> # AddHandler php-script .html # AddType application/x-httpd-php .html #</FilesMatch> </IfModule>
【修正後】 <IfModule mime_module> ~ <FilesMatch "\.php$"> AddHandler php-script .php AddType application/x-httpd-php .php </FilesMatch> #<FilesMatch "\.html$"> # AddHandler php-script .html # AddType application/x-httpd-php .html #</FilesMatch> </IfModule>
.html ファイルの中にも PHP のコードを書きたい場合などは html の方もコメントを外す。
ただし、ファイル名は .html なのに内部的には PHP で処理されるなどぱっと見わかりづらくなる事もあるのでここでは .php のみとする。
フォルダアドレスでアクセスされた場合に探すファイルに index.php を追加する。
[修正前] <IfModule dir_module> DirectoryIndex index.html </IfModule>
[修正後] <IfModule dir_module> DirectoryIndex index.html index.php </IfModule>
PHPの動作確認
C:\server\storage\public_html の中に「phpinfo.php」ファイルを以下の内容で作成。
<?php
phpinfo(); // PHPモジュールのバージョンや詳細についてのhtmlを返す関数を実行
?>
Apacheを再起動後、ブラウザから「http://localhost/phpinfo.php」にアクセスして次のようなページが表示されればOK。
Apacheの再起動ができない場合は httpd.conf の内容にミスがあるという事もあるので起動時のレポートを確認し対応する。
httpd.conf の 453行目で AddType の構文エラーがある場合は下記のようになる。
AH00526: Syntax error on line 453 of C:/server/Apache24/conf/httpd.conf:
AddType requires at least two arguments, a mime type followed by one or more file extensions