htmlファイルでphpを動かす2024

拡張子が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の環境で起こる問題のようだ

タイトルとURLをコピーしました