WordPress の推奨動作環境はここ数バージョンで一気に変化してきました1。
WP4.7より推奨がPHP7+になったため、しばらくはそれほど大きな変化が起こることはないかとおもいますが、少し気になったのでついでに書き留めておきます。
このエントリではサーバーの動作環境の推移を紹介しています。サポートブラウザについては WordPress の推奨動作ブラウザ にまとめているのでそちらをご覧ください。
遷移の振り返りにはhttps://wordpress.org/about/requirements/で示されているバージョンをInternet Archiveで遡りました。
すごいですねこれ。時期によってはほぼ毎日、WP1.0.1以降の全バージョンをほぼ軽く網羅できてるであろう数の魚拓が残っていました。
遡っていく
以下ではそのバージョンにおいて変更された部分を赤太文字で強調します。
(最終更新: 2020年4月 最新WP 5.4 この記事のオリジナルは4.7.1が最新の時点です。)
WP 5.2 くらい (2019-05-09)
Note: If you are in a legacy environment where you only have older PHP or MySQL versions, WordPress also works with PHP 5.6.20+ and MySQL 5.0+, but these versions have reached official End Of Life and as such may expose your site to security vulnerabilities.
2019/05/07にリリースされた WordPress 5.2 より、以前から予告されていたように最小で必要なPHPバージョンは 5.2から5.6.20に引き上げられました。
5.1以前のバージョンにもセキュリティフィックスは提供されますが、下にも書いているよう当然ながら古いPHPの利用は推奨されません。
WP 5.2の直前 (2019-05-03)
- PHP version 7.3 or greater.
- MySQL version 5.6 or greater OR MariaDB version 10.1 or greater.
- HTTPS support
しれっとMariaDBが10.1以降の指定に変更されています。おそらくこれは2019年3月末をもって10.0のEOL(サポート終了)を迎えているからでしょう。
だいたい WP 5.0.3 (2019-01-11)
- PHP version 7.3 or greater.
- MySQL version 5.6 or greater OR MariaDB version 10.0 or greater.
- HTTPS support
2018年12月にリリースされた最新のPHP、7.3に推奨バージョンが引き上げられました。以前(下記)同様、 WP 5.0 では開発時からPHP7.3に対するテストも行われています。
また、2019年2月にリリース予定の WordPress 5.1 ではヘルスチェックプラグインの機能がコアにマージ、古いバージョンのPHPを使っている環境などでは警告を表示するようになったり、その先の4月には最小PHP要件が5.2から5.6に引き上げられたりする予定です。なお2018年末でPHP 5.6 / 7.0以下の公式サポートは終了しているので、基本的にはすでに「使い続けているのは危険」な状態です。
だいたいWP 4.9.1 (2017-12-03)
- PHP version 7.2 or greater
- MySQL version 5.6 or greater OR MariaDB version 10.0 or greater
- HTTPS support
PHP 7.2のリリースに合わせて推奨PHPバージョンも最新の7.2に引き上げられました。PHP 7.2が正式リリースされる以前の状態で既にWPコアのテストは7.2でも行われていたためこのページの更新はWPのリリースに合わせてではありませんが、バージョンとしては対応するように図られています。
また、いまのところまだPHP5.2でも動くようにはなっていますが、いい加減ホスティングとしてもアプリ開発者としてもそれを続けていけるわけもなく、PHPの新バージョンへの置き換えを促し支援するためのServerhappyプロジェクトが進行中です。
WordPressがサポートするPHPのバージョンアップへのカウントダウンが始まった!Servehappy プロジェクト!
WP 4.7 (2016-12)
- PHP version 7 or greater
- MySQL version 5.6 or greater OR MariaDB version 10.0 or greater
- HTTPS support
PHP7以上や常時HTTPSがソフトウェアレベルで推奨されるようになりました。これについては、Mattからもアナウンスが有ったとおりです。
なお、現在の最低動作環境は PHP 5.2.4+ and MySQL 5.0+ となってい、これは2011年にリリースされた WP 3.2 以来変わっていません。
もちろんPHP5.2は既にサポートが終了していたり、私の配布しているものを含む一部のプラグインはPHP5.2では動かなかったりするので今更そんなものを使うことはもちろん推奨されません。
また、以後最低動作環境は省略。
WP 4.5 (2016-04)
(正確には3月中に変更)
- PHP version 5.6 or greater
- MySQL version 5.6 or greater OR MariaDB version 10.0 or greater
DBの推奨要件に MariaDBが追加されました。
WP 4.4 (2015-12)
- PHP version 5.6 or greater
- MySQL version 5.6 or greater
MySQLの推奨バージョンが5.5=>5.6に変わりました。MySQL5.5のプライマリサポートはこの月まででした。
(WP 4.3) 2015-09
- PHP version 5.6 or greater
- MySQL version 5.5 or greater
WPのリリースとは少しずれたタイミングでPHPの推奨バージョンが5.4+から5.6+に上がりました。PHP5.4のセキュリティサポート終了のためです。
また、このときより推奨バージョンの表記フォーマットが変わりました。
(WP 4.1) 2015-01
- PHP version 5.2.4 or greater (recommended: PHP 5.4 or greater)
- MySQL version 5.0 or greater (recommended: MySQL 5.5 or greater)
それまで最低バージョンのみが記載されていた要件に推奨バージョンが記載されるようになりました。ところでこれらは4.2からutf8mb4
を使うようになったことにも関連してきます。
WP 3.2 (2011-07)
- PHP version 5.2.4 or greater
- MySQL version 5.0 or greater
The requirements have changed as of WordPress 3.2. The minimum requirements for WordPress 3.1 are PHP 4.3 and MySQL 4.1.2.
WP 3.2のリリースに先立ち、同年5月後半にその最低動作要件であるそれぞれのバージョンが記載されました。上にも書いたとおりですが、3.1まではPHPが4系でも5系でもWPが動いたんですね。
ちなみにこの3.1ならPHP4系でも動くという記述はこのあと3年間ほど残っていたようです。
WP 2.9 (2009-12)
- PHP version 4.3 or greater
- MySQL version 4.1.2 or greater
WP 2.9 では、MySQLの最小バージョンが4.0から4.1.2に変更されました。(PHPにしろMySQLにしろ、SemVerでは考えられないような変更がマイナーバージョンに含まれてたりしますよね)
また、このときより同ページに記載されている推奨サーバーにApacheに並んでNginxが仲間入りしました。今となってはおなじみのNginxですが、当時既に推奨サーバーに入ってたんですね!
※ちなみにそれまでそこにはLitespeedが記載されていました。入れ替わりで追い出されちゃった……もちろん今でも使えるはずですよ?
WP 2.5 (2008-03)
- PHP version 4.3 or greater
- MySQL version 4.0 or greater
WP の最小要件のPHPバージョンが4.2から4.3に変更されました。
ちなみにこの前バージョンとなるはずだったWP 2.4はリリースがキャンセルされていたりする他、WP MUを配布していた WordPress Japan が閉鎖されたのもこの時です。(残念ながら当時のWPを自分は知らない……9年前ですからね。)
https://wpdocs.osdn.jp/Version_2.5
あと、2008/04/07のrequirementsページが何故か404です。サイトリニューアルも有ったみたいなので、その影響なのでしょうか……
WP 2.1 (2007-01)
- PHP version 4.2 or greater
- MySQL version 4.0 or greater
最小MySQLのバージョンが上がりました。4.0の前ってことはこの前は3系になるんですね。(3.23.23)
ところでこのMySQL 3.23.23というのはWP 1.0 のときの最低要件なんですって。(つまりこれが初のMySQLの最低要件変更?)
WP 2.0 (2005-12)
- PHP version 4.2 or greater
- MySQL version 3.23.23 or greater
やっとここまできた……2004年頭のWordPress 1.0のリリースから約2年、この時が初の最低要件変更だったようです。
PHPの最低バージョンが4.1から4.2に変更されました。
WordPress.comはこの頃から提供されているようで、またWordPress.orgのサイトもこの頃にリニューアルされています。
また、上記のLitespeedが推奨サーバーに追加されたのもこのときのよう。
WordPress 1.0
参考に、WP1.0.1当時はこんな感じだったようです。
Requirements
To run WordPress you just need a couple of things:
- PHP version 4.1 or greater
- MySQL version 3.23.23 or greater
- (optional) The Apache
mod_rewrite
module, for the nice URI functionsWordPress › About › Requirements (2004/02/15)
おわりに
なんとなくで最低要件の変化をみてみると、WPの歴史も感じました。
で、結局今新しく立てるならどうすればいいの?って言えば7.4をオススメします。(PHP 7.0のセキュリティサポートは2018年12月まで、7.1は+1年、7.2、7.3はさらに+1年ずつ)
また、既存のPHP 5.Xを利用しているサイトについても問題がなさそうならば7系にすることをオススメします。未だに5.2.Xだなんてもってのほかです。セキュリティ面でもパフォーマンス面でも。
そもそも長らく更新されていないプラグインがPHP7非対応だった時、もしかするとそのプラグインは他にセキュリティリスクも持っているかもしれないわけで。(PHP7関係ないですけどね。)
参考:
PHPのリリース日とサポート期限 – Qiita
PHP: Supported Versions
このエントリの内容はすぐに古くなる場合があります。最新の推奨バージョンは以下より確認するようにしてください。
- 錯覚かもしれない ↩
さくらのレンタルサーバーを使っていますが、
PHP7.1にするとページや投稿の本文が見えないという状況が出ています。テーマにもよるのかなとは思います。PHP5.6で使っています。
MySQLのバージョンとのマッチングとかも関係するのでしょうか。
テーマやプラグインによってはPHP7系に対応できていない場合があるとは思います。テーマをデフォルトテーマ(いわゆるTwentySeventeenとうのテーマ)に切り替えて同様の症状が起こらないのであればテーマの問題、それでも起こるようであればプラグインが怪しいと行ったところでしょうか。
問題解決のためのチェックリスト
テーマの問題であればテーマ製作者・販売元等へのお問い合わせをおすすめします。(アップデート対応している場合もありますし、公式テーマでも放置されていれば……)