PHP8(php-fpm)でhtmlファイルでPHPを実行させる

php-fpm 環境の PHP8で、html ファイルで PHP を実行させた際のメモ。

これまでのサーバー環境では、.htaccess 内に記述を加える html ファイルを phpファイルとして動作させていた。

PHP8 では以下のように書き直すとネットで見た。

#○は PHP のバージョン
AddHandler php○-script .php .html
↓
#○を取る
AddHandler php-script .php .html

しかしうまくいかなかった。

php-fpm の環境では違う設定が必要らしい。

php.conf の修正

/etc/httpd/conf.d/php.conf を開いてマーカー部分を追記

# Redirect to local php-fpm if mod_php (5 or 7) is not available
<IfModule !mod_php5.c>
  <IfModule !mod_php7.c>
  <IfModule !mod_php.c>
   # Enable http authorization headers
   SetEnvIfNoCase ^Authorization$ "(.+)" HTTP_AUTHORIZATION=$1

    <FilesMatch \.(php|phar|html)$>
        SetHandler "proxy:unix:/run/php-fpm/www.sock|fcgi://localhost"
    </FilesMatch>
  </IfModule>
  </IfModule>
</IfModule>

/www.conf を修正

/etc/php-fpm.d/www.conf を開いて次のように修正

#変更前
;security.limit_extensions = .php .php3 .php4 .php5 .php7

#変更後
security.limit_extensions = .php .php3 .php4 .php5 .php7 .html
sudo systemctl restart httpd
sudo systemctl restart php-fpm
タイトルとURLをコピーしました