サイトアイコン Capital P

いつWordPressをPHP7にすべきか?

WordPress4.7のリリースに合わせ、WordPress.orgの推奨環境が変わったのはご存知だろうか。現在は次のようになっている。

これを見たのだろう、筆者の元にタイトルでしめした相談メッセージが届いたので、個人的な意見を書いてみたい。

結論

まずはじめに結論から述べておくが、PHP7にすべきである。理由はWordPressとは関係なく、その方が早いし安全だからだ。

しかしそれはおそらく質問者も知っているはずで、PHPのバージョンアップに躊躇している理由があるのだろう。まずは幾つかの事実を列挙し、そのメリットおよびデメリットを挙げていく。その上で決めてほしい。

事実1 WordPressコアは7.0でなくても動く

WordPressのコアはPHP7でなければ動かない新機能、たとえば戻り値の型宣言 function(): array{} や引数のスカラー型宣言 function(int $var) 、NULL合体演算子 ?? 、スペースシップ演算子 <=> などを使っていない。

したがって、WordPress.orgのrequirementsページに書かれている通り、PHP7は推奨であり必須ではない。

事実2 PHP5までは動いたがPHP7で動かなくなる記法がある

下位互換のない変更点はいくつかあるのだが、その中でも下記の2点が与える影響が大きい。

これら2点は「レガシーな記法がついに廃止された」のだが、プラグインの質によっては上記のエラーに引っかかることがある。したがって、場合によっては「サイトが真っ白」ということもありえるだろう。

事実3 WordPress.orgの推奨要件は態度表明である

WordPressは後方互換をかなりしっかりやっているソフトウェアであり、たとえばPythonを2.7から3.5に上げる時のインパクトに比べれば、その影響度ははるかに小さい。いまでも律儀にPHP5.2をサポートしている。

しかし、その後方互換のために無駄な労力が割かれていることも事実だ。たとえば、筆者は自身の公開しているWordPressプラグインがPHP5.2でエラーを起こさないよう、ブートストラップファイルの中に無名関数ではなくcreate_functionのような恥ずべき機能を使っているのだが、正直もう辞めたい。無名関数の中に$thisを書きたい。

WordPressのコミュニティの大方針は、おそらく「古い環境にとどまっているユーザーを切り捨てるのではなく、新しい環境を推薦していこう」というソフトランディング路線である。ホスティング会社のリストもその一環だろうし、それに同調するプラグイン作者もいる。

事実から導き出せること

上記の事実から、次のようなことがわかる。

Pros & Cons

さて、PHP7に移行した場合のメリットとデメリットを上げていこう。メリットは次の通り。

これに対するデメリットは何かというと、次の通り。

上記の通り、デメリットは基本的にあなたの個別具体的な状況に応じたものであり、WordPressやPHPとはあまり関係がない。

また、PHP7に対応していないプラグインやテーマを使い続けているのは危険でもあるので、そもそもなんでそんなことになってしまったのかをよく考え直してほしい。

上記のメリットとデメリットを比較し、検討していただければ幸いである。

補足・このようなことで悩まないために

WordPressに限らず、Webサイト、いやそもそもソフトウェアというのは継続的にアップデートしていくべきである。そのためにはアップデートに強い環境を作ることが先決だ。以下のことをよく念頭においてほしい。

変更しやすく、代替可能な環境にWebサイトを置いておけば、いつも早いし安全、いうことはなしだ。なによりあなた自身が楽になる。

もし不明な点などがあれば、コメント欄でお待ちしている。

モバイルバージョンを終了