.html拡張子のファイルでPHPを実行する
PHP のスクリプトが記述されたファイルの拡張子は .php とすることが多いのですが、設定を追加することで .html の拡張子で記述されたファイルで PHP を実行することができます。ここでは Apache で .html 拡張子のファイルで PHP を実行するための設定方法について解説します。
(Last modified: )
拡張子(.html)をPHPと関連付ける
拡張子 .html
と PHP を関連付けます。関連付けを行うことで、拡張子 .html
のファイルへアクセスがあった時に、 PHP を使って実行された結果がクライアントに返されるようになります。
ドキュメントルート以下のすべての拡張子が .html
のファイルで PHP で記述したスクリプトが実行できるようにするには、 httpd.conf
ファイルでドキュメントルートを対象にした Directory
ディレクティブの中で次の記述を追加してください。
PHP 7 の場合:
<Directory "${SRVROOT}/htdocs"> AddHandler php7-script .php .html AddType application/x-httpd-php .php .html </Directory>
PHP 8 の場合:
<Directory "${SRVROOT}/htdocs"> AddHandler php-script .php .html AddType application/x-httpd-php .php .html </Directory>
拡張子が .php
に加えて .html
のファイルでもファイルの中で PHP が記述されていた場合は実行されるようになります。もし特定のディレクトリのみで許可する場合は、対象のディレクトリに対して Directory
ディレクトリを記述し、ブロック内で設定を記述してください。
※ どちらかを記述すればよかったのですが、環境によって違う可能性もあったのでどちらも記述しています。
phpが利用できるか確認する
拡張子が .html
のファイルの中に記述された PHP のスクリプトが実行されるかどうか確認するため、ドキュメントルートの下の mydir ディレクトリに hello.html ファイルを作成し、次のように記述しました。
<html> <body> <p>Hello HTML</p> <?php print "Hello PHP"; ?> </body> </html>
最初に .html
の拡張子で PHP を利用できる設定を行わずに //localhost/mydir/hello.html へアクセスして下さい。 PHP のスクリプトが実行されないためブラウザには次のように表示されます。
続いて .html
の拡張子で PHP を利用できる設定を行います。現在は PHP 8 系を使用しているので、 httpd.conf
ファイルに次のような記述を行いました。
<Directory "${SRVROOT}/htdocs/mydir"> AddHandler php-script .php .html AddType application/x-httpd-php .php .html </Directory>
設定を記述したら Apache を再起動しておいてください。
改めて //localhost/mydir/hello.html へアクセスして下さい。 PHP のスクリプトが実行されてブラウザには次のように表示されます。
拡張子が .html
のファイルであっても PHP が実行されました。
-- --
Apache で .html 拡張子のファイルで PHP を実行するための設定方法について解説しました。
( Written by Tatsuo Ikura )

著者 /
プログラミングや開発環境構築の解説サイトを運営しています。