伊藤商店

伊藤商店の覚書

いつも忘れるcoreserverでのhtmlファイル内でphpを実行させる方法

PHP

確認用サーバとしてcoreserverを使用していますが、昔作ったwordpressサイトを更新すると、あの画面が表示されることがある。

Your server is running PHP version 5.6.40 but WordPress 6.3.1 requires at least 7.0.0.

毎回これなんだっけ?となるので2023年時点での修正方法を記載しておく。

まずはサーバのphpのバージョンの確認をし、
2023年の現時点では8.1以上が指定されてればひとまず御の字。

肝心の.htaccessの設定。
ウェブ検索するといろんな書き方で記載があり、
その時々で書き方が違うので困りもの。

以下はあくまでも私のサーバで2023年現在の環境だとご承知おきください。

AddType application/x-httpd-php .php .html

と以前から使用している設定し直したがなぜかエラーは収まらず。

公式では以下のような記載もあったので設定。

#管理画面で設定されたphpを使用
AddHandler application/x-httpd-phpcgi .php .html

これでもエラーは収まらず。。

仕方がないので、phpinfoを見てみると次のような結果に。

■test.html

拡張子htmlは5.6.40!

■test.php

拡張子phpは8.1.16!

公式で記載されているバージョンを指定した、

#バージョンを指定
AddHandler application/x-httpd-php81cgi .php .html

を試してみると、wordpress自体が動かないという始末。
.htmlを外してもwordpressは動かず。
https://help.coreserver.jp/faq/php-cgi/

解決策(解決してない)

以前構築していた確認用のサイトをみてみると、
公式サイトに書かれてある通りに設定されていた。

AddHandler application/x-httpd-php73cgi .php .html

x-httpd-php73cgi…

AddHandler application/x-httpd-php74cgi .php .html

仕方なく、7.3はアレなので7.4で設定してみると動きました。。

解決には至ってはいませんが、7.4で設定すると今のところ動くようでした。
ただし公開サイトではphp8.1以降で動かしたいので検証環境としては不十分な気がしてきました。

なお、phpのcgi実行は処理速度が落ちるのであまりお勧めできないようです。
また、CORESERVERでは新しく提供されている「V2プラン」では、
.html内でのphp実行ができないようでした。

確認用サーバとして使い倒させていただいていたので、
なんとかこれまで通り使いたいところです。

ここで記載されている内容は私の既存の環境の話でしたので、もしかすると別の問題があるかもしれないです。
何かお気づきの方がいらっしゃったらぜひご連絡ください。