PHPバージョンが5系(5.6.3など)だとWordpressにPHPの更新が必要ですと表示される。それを、7系(7.3.6など)に上げても、なぜかこの表示が消えてくれない時の対処法
PHPの更新が必要です
サイトが安全ではないバージョンの PHP を実行していることを検出しました。
PHP とは何ですか ? サイトにどう影響しますか ?
PHP は WordPress の開発や保守に使用されているプログラミング言語です。PHP の新しいバージョンはより高速で安全なため、アップグレードするとサイトのパフォーマンスに良い影響を与えます。
PHP の更新についてさらに詳しく (新しいタブで開く)
と書かれてたメタボックスが表示される。
PHPバージョンを7.3.xにちゃんと上げても、メタボックスが消えない場合がある。
さくらの共用サーバで確認済み。
実際にPHPバージョンは上がってないのか?
サーバーで確認しても、PHPを走らせて確かめてみても、実際にはPHPバージョンは7系に上がっているようだ。
じゃあアラートが消えない原因はなに?
まず、.htaccessの中身を確認してみよう。
FTPソフトなどで.htaccessをDLして確かめてみるとこんな感じ。
Action myphp-script /php.cgi
AddHandler myphp-script .php .html
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN WordPress 以下は普通のWordpressの記述。
上の Action myphp-script /php.cgi これが問題の元凶。
次に php.cgi の中身 を確認してみる。これもFTPソフトでDLしてみる。
#!/bin/sh
exec /usr/local/php/5.6/bin/php-cgi
#exec /usr/local/php/5.4/bin/php-cgi
原因これでした。exec は外部コマンドの実行で、ここが、php5.6になっちゃってる。
php5.4はコメントアウトされているので関係ない。
しかし、行自体を削除してしまうと、さくらサーバーでは、php が動かなくなる。つまりWordPressは動かない。
という訳で、 ↓↓↓
さくらサーバーの場合、バージョンを指定せずにphpを動かすには下記のコードを追加。
exec /usr/local/bin/php-cgi
一応元の記述もコメントアウトで残すと、 ↓↓↓
こんな感じでいいと思う。
#!/bin/sh
#exec /usr/local/php/5.6/bin/php-cgi
#exec /usr/local/php/5.4/bin/php-cgi
exec /usr/local/bin/php-cgi
php.cgiを変更して、FTPでアップロードして上書きしたら、「PHPの更新が必要です」は消えました。