VPS上のwordpessでphpのバージョンをいじったら動かなくなったときの対処法
現状の状態
「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」と表示され当サイトが閲覧できなくなってしまった。
※私の場合jetpackのプラグインを入れているため、動作しなくなった場合メールで通知が来る。
今回の流れは以下の流れで対処を行った。
1.現状の把握
・wordpressのバージョン確認
・phpのバージョン確認
・mariadbのバージョン確認
2.対処法の検討・実施
・mariadbのバージョンアップ
3.テスト
・動作確認
⇒動かない
・php-mysqlの追加
⇒動作確認
1.現状の把握
最近phpのバージョンを変更したため、phpのバージョンとwordpressのバージョンが合ってないのかなと思い確認した。
1 2 3 4 |
# php -v PHP 7.3.13 (cli) (built: Dec 17 2019 10:29:15) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.13, Copyright (c) 1998-2018 Zend Technologies |
※最近phpを7.3に変更した。
現在当サイトと別サイトをwordpressで運営しているため、
2つのサイトのバージョンを確認した。
wordpress/wp-includes/version.php にWordPressのバージョンに関する記述があります。
1 |
$wp_version = '5.2.1'; |
1 |
$wp_version = '5.2.3'; |
上記のwordpressとphpのバージョンが適応されているか確認した。
各バージョンの動作環境および推奨環境の一覧
WordPress バージョン |
動作環境 | 推奨環境 | ||
PHP バージョン |
MySQL バージョン |
PHP バージョン |
MySQL / MariaDB バージョン |
|
5.3 系 | 5.6.20 – 7.4 | 5.0 以上 | 7.3 以上 | 5.6 以上 / 10.1 以上 |
5.2 系 | 5.6.20 – 7.3 | 5.0 以上 | 7.3 以上 | 5.6 以上 / 10.1 以上 |
5.0 – 5.1 系 | 5.2.4 – 7.3 (*1) | 5.0 以上 | 7.3 以上 (*2) | 5.6 以上 / 10.0 以上 |
4.9.5 – 4.9.12 | 5.2.4 – 7.2 | 5.0 以上 | 7.2 以上 (*3) | 5.6 以上 / 10.0 以上 |
4.9 – 4.9.4 | 5.2.4 – 7.2 | 5.0 以上 | 7 以上 | 5.6 以上 / 10.0 以上 |
4.7 – 4.8 系 | 5.2.4 以上 | 5.0 以上 | 7 以上 | 5.6 以上 / 10.0 以上 |
4.0 – 4.6 系 | 5.2.4 以上 | 5.0 以上 | 5.6 以上 | 5.6 以上 / 10.0 以上 |
3.2 – 3.9 系 | 5.2.4 以上 | 5.0 以上 | 5.2.4 以上 | 5.0 以上 |
3.0 – 3.1 系 | 4.3 以上 | 4.1.2 以上 | 4.3 以上 | 4.1.2 以上 |
php, wordpressのバージョンの適応性は問題ことを確認した。
次にメッセージ内容からMySQLとwordpressの適応性の問題を確認した。
メッセージ:「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」
2.対処法の検討・実施
当サーバはmariaDBを利用しているので、mariaDBのバージョンを確認した。
※ここでバージョンが5.5?になっていたため、アップデートした。
以下アップデート後。
1 2 |
mysql --version mysql Ver 15.1 Distrib 10.4.11-MariaDB, for Linux (x86_64) using readline 5.1 |
3.テスト
ここで動作確認。
しかし、未だに「お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。」
と表示される。。
大人しくググってみると
phpのバージョンアップ時にphp-mysqlndが足りないとこのようなエラーが出るようだ。
お使いのサーバーの PHP では WordPress に必要な MySQL 拡張を利用できないようです。と表示された対応
1 |
yum -y install --enablerepo=remi,remi-php73 php php-mbstring php-xml php-xmlrpc php-gd php-pdo php-pecl-mcrypt php-mysqlnd php-pecl-mysql |
これで動いた。