.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>

phpが利用できるか確認する(1)

最初に .html の拡張子で PHP を利用できる設定を行わずに http://localhost/mydir/hello.html へアクセスして下さい。 PHP のスクリプトが実行されないためブラウザには次のように表示されます。

phpが利用できるか確認する(2)

続いて .html の拡張子で PHP を利用できる設定を行います。現在は PHP 8 系を使用しているので、 httpd.conf ファイルに次のような記述を行いました。

<Directory "${SRVROOT}/htdocs/mydir">
  AddHandler php-script .php .html
  AddType application/x-httpd-php .php .html
</Directory>

設定を記述したら Apache を再起動しておいてください。

改めて http://localhost/mydir/hello.html へアクセスして下さい。 PHP のスクリプトが実行されてブラウザには次のように表示されます。

phpが利用できるか確認する(3)

拡張子が .html のファイルであっても PHP が実行されました。

-- --

Apache で .html 拡張子のファイルで PHP を実行するための設定方法について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

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