拡張子がhtmlのファイルでphpを動かしたときの覚書
新しく契約したサーバーで、htmlファイルにphpを記述して動かしたかった
以前までやってた .htaccess に記述する↓のやり方ではできなかった
AddType application/x-httpd-php .html
AddHandler application/x-httpd-php .html
phpを記述したhtmlファイルにアクセスするとhtmlファイルがなぜかダウンロードされてしまう
こちらのサイトを参考にした
Apache + php-fpmでHTMLファイル内でphpを動かせるようにするには | 静岡県浜松市・関東 -Web制作・開発なら株式会社WETCH(ウェッチ)
ページが消えてしまっては困るので、内容をほぼそのままコピーして載せる
vi /etc/php-fpm.d/www.confを編集
#security.limit_extensions .php .php4 .php5 .php6 .php7
コメント外して .htmlを追加
security.limit_extensions .php .html
security.limit_extensions
は、PHP-FPM の設定オプションで、リクエストされるスクリプトのファイル拡張子を制限するために使用される。このオプションは、PHP が処理できるファイルの種類を制御し、不正なリクエストやスクリプト実行を防ぐセキュリティ機能。
vi /etc/httpd/conf.d/php.conf を編集
#<IfModule !mod_php5.c>
# <IfModule !mod_php7.c>
# Enable http authorization headers
# SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
#
# <FilesMatch \.(php|phari)$>
# SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
# </FilesMatch>
# </IfModule>
#</IfModule>
をコメント外してhtmlを追加
↓↓↓↓
<IfModule !mod_php5.c>
<IfModule !mod_php7.c>
# Enable http authorization headers
# SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1
#
<FilesMatch \.(php|phari|html)$>
SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
</FilesMatch>
</IfModule>
</IfModule>
再起動
$ systemctl restart httpd
$ systemctl restart php-fpm
Apache + php-fpmの環境で起こる問題のようだ