先日、当サイトなどで利用しているエックスサーバーから以下のメールが届きました。
この度当サービスでは「PHP7」を導入いたしました。
PHP7 は、PHP5 に比べ2倍以上の実行速度を誇り、メモリ使用量が大幅に改善されたPHPの最新バージョンです。
(中略)
なお、ご契約いただいているすべてのサーバーアカウントで PHP7 を導入するのは、国内レンタルサーバー事業者として初めてです。
(2015年12月9日時点、当社調べ)
どうやら、エックスサーバー系のサーバー(wpXとかも)で、PHP7が利用できるようになったようです。
で、ふと「SimplicityはPHP7で動作するのだろうか?」と思ったので、早速テスト用のサーバースペースで試してみました。
PHP7でSimplicityの動作確認
サーバーでPHP7を選択後、テストサーバにインストールしてあるSimplicityを動作させてみました。(エックスサーバーでPHP7にする方法は後述)
ちなみに以下のような条件で動作させてみました。
- PHP7
- WordPress4.4
- Simplicity1.9.3親テーマのみ
- プラグインのインストールはなし
- 画像の最適化はしてある状態
- .htaccessを記入する高速化方法でブラウザキャッシュ等を設定済み
- エックスサーバー
この条件で、Simplicityを動作させてみた結果、取り立ててエラーメッセージも出ませんでした。カスタマイザーで、いろいろ設定を変更しても見ましたが、とりあえずエラーの出るところはありませんでした。
ただ、僕が試していない設定の組み合わせで、エラーが出る可能性もないとは言えないです。もし不具合が出た場合は、フォーラムなどにご報告いただけると幸いです。
プラグインにご注意
プラグインをインストールしている場合は、以下のようなエラーメッセージが出ることもあるかと思います。
ちなみに上のエラーは、Comment Form Quicktagsプラグインで出ました。
プラグインによっては、エラーが出てページが表示されなくなることもあるので、以下の対策を行ってください。
- PHPのバージョンを戻す
- PHPのバージョンを戻した状態でプラグインを無効にしてPHP7.0にする
PHPのバージョン変更は自己責任でお願いします。
PHP7でサーバーの表示スピードは速くなるのか
エックスサーバーからのメールには、以下のように書かれていました。
PHP7 は、PHP5 に比べ2倍以上の実行速度を誇り、メモリ使用量が大幅に改善されたPHPの最新バージョンです。
なので、サーバーでの実行速度が速くなるのか、一応簡単に調べてみました。
PageSpeed Insightsの結果
PageSpeed Insightsでは、サーバーで実効速度を評価する項目は1つだけしかありませんが、一応調査してみました。
PHP5.6、PHP7.0双方の結果
結果は、PHPはどちらのバージョンでもほぼ変わりませんでした。
スマホ
パソコン
サーバーの応答時間
結果
何度かテストすると、テストするタイミングによっては、サーバーの応答時間に多少の違いがあり、点数が上下することもありました。
けれど、その現象は、どちらのPHPのバージョンでも同様に起こりました。
GTmetrixの結果
GTmetrixで、ページロードタイムも見てみました。
PHP5.6の場合
PHP7.0の場合
結果
結果としては、双方ともほとんど変わりませんでした。
何度かテストしてみましたが、どちらかというとPHP7.0の方がページロードタイムも長く、トータルページサイズも大きくなりました。
どうしてそうなるかなど詳しいことは調べていません。
PHPのバージョンの変更方法(エックスサーバー)
エックスサーバーでPHPのバージョンを変更する方法も書いておきます。
まずサーバーパネルのログイン画面を表示します。
アカウント情報を入力してログインします。
すると以下のようなサーバーパネルが表示されるのでメニューから「PHP Ver.切替」をクリックします。
目当てのドメインを選択します。
以下のような画面が表示されるので、「変更後のバージョン」を「PHP7.0.x」に選択して「バージョンを切り替える」ボタンを押してください。
以下のように表示されればOKです。
まとめ
今回Simplicityを、PHP5.6とPHP7.0で動作させてみましたが、両者に違いはほとんどないように感じました。
体感速度だと、正直言って、全く違いがわかりませんでした。
ただ、PHP7.0で動作させても、僕が調べた限りでは、エラー表示などは出なかったので、とりあえず一安心しました。
僕の個人的な感想としては、PHP7.0にすると、今まで利用していたプラグインが利用できなくなる可能性があるので、体感スピードがそこまで変わらないのであれば、PHP5.6で当分使った方が無難かなとは思います。
もしPHP7.0で不具合が出る設定などがありましたらフォーラムにご連絡ください。
コメント
はじめまてコメントさせて頂きます。
Simplicityテンプレートをありがたく利用させて頂いております。
(無料テンプレートでここまでこまめにアップデートしていただけるのはとてもありがたいです)
さて、私もXSERVERを利用しておりまして今回PHP7.0にしてみましたので情報共有させて頂ければと思います。
プラグイン「Link Indication」を利用している場合、外部ドメインへの発リンクがあるページについては「Fatal error: Uncaught Error:〜」というのが発生してしまいます。
「Link indication」を無効化にしたら全てのページが正常に表示されるようになりました。
残念ながら私はPHPの知識が無いため、修正方法等がわかりませんが・・・
まずは情報共有としてコメントさせて頂きました。
ありがとうございます。
僕の場合は、Comment Form Quicktags。
Twitter上では、以下のようなプラグインの動作の不具合を教えてもらいました。
修正するには、プラグインでエラーが出ている部分を直接PHPで修正するしかありません。ただ、修正したとしても、プラグインのアップデートをすると消えてしまうので、「作者に連絡してアップデートを待つ」というのが最も無難かと思います。
はじめまして!いつも参考にさせていただいております。
エックスサーバーの php7 に変更した際のちょっとした不具合が起こったので情報共有できればと思います。
以前 w3 total cache の設定を参考にさせていただき、設定の方はできたのですが、どうもphp7に変更した歳、不具合が出てしまいました。(海外のフォーラムでは w3 total cache がphp7に対応されていないとのことらしい…?)
私だけかもしれませんし、また、以前参考にさせていただいたお礼というわけではではありませんが、こんなことがありました、というご報告です。(回避方法をご存知でしたら嬉しいなという邪な期待もありますが!)
はじめまして。
ご報告ありがとうございます。
W3 Total Cacheは以下のような報告もありました。
PocketとFeedlyの下に Waning?? という文字列が出る
とりあえず、W3 Total Cacheを使っている場合は、計測ツールではスピードにそれほど差もないようなので、PHP5.6を使った方が無難かと思います。
回避方法というか、最も適切な改善策は、W3 Total Cache作者に改善を依頼するのが一番かもしれません。(自分で修正したとしても、アップデートで元に戻ってしまうので)