2019年7月3日にさくらのレンタルサーバ利用ユーザーへ PHPのバージョンを7.2から7.3に自動アップデートされる旨の案内が、利用者へメールなどで通達されました。
※2019年7月5日追記:当記事は上記の自動アップデートにあわせて執筆したものですが、同サーバーでWordPressを利用しているユーザーが今後PHPアップデートを行う際にも参考になる様、一部加筆しております。
実施日は、2019年7月3日(水)。
- さくらのレンタルサーバ・さくらのマネージドサーバ システムメンテナンスのお知らせ 2019年06月05日掲載
とはいえ、これは急な話ではなく
- さくらのレンタルサーバ/マネージドサーバ PHP7.3提供開始 (2019年4月17日掲載)
- さくらのサポート情報 PHP提供ポリシー
などで予め案内されていました。
マイナーバージョンアップですので、それほど騒ぐほどでもない……というご意見はごもっともですが、メールなどで一斉通達があったため、クライアントから問い合わせのあったweb制作会社さんや担当者さんも多いのではないでしょうか。
PHPの仕様変更の影響は、全てのPHPプログラムが受ける”可能性”がありますが、この記事ではひとまずWordPressのチェックに限って、その影響を未然に防ぐためのチェック/テスト方法について、まとめておきたいと思います。
なお、この記事は、さくらインターネットのレンタルサーバー『コントロールパネル』にログインでき、DBやphpMyadmin、FTP接続などwebサイトのメンテナンスについて理解している方向けとして記述していきます。各ソフトウェアや、細かい操作方法などについては割愛いたします。
Index
PHP7.2→7.3へのアップデート前のチェック手順
まずはバックアップしておく
まずはデータをバックアップしておきましょう。
- FTPで、データ一式のバックアップ
- phpMyAdminからDBバックアップデータ取得
- コントロールパネル『バックアップ&ステージング機能』でのバックアップ
特に、バックアップ&ステージング機能はとても便利で、週/日毎の自動バックアップも設定可能です。 Snapupという便利なサービスが追加料金なしで使えますので、スタンダードプラン以上(ライトプランは非対応)の利用者で、まだ未設定の方はこの機会に設定しておきましょう。
PHP 7.3環境での動作テストを行う方法
安心確実な方法から順に記載していきます。
ローカルにPHP7.3環境を構築してテスト
これが確実です。手間をかける時間的余裕があるなら、万全な方法でテストしましょう。この機会にやってみよう、という方には下記なども参考になるかもしれません。
『バックアップ&ステージング機能』のSnapupで、テストサーバーを設定
前述した、さくらインターネットスタンダードプラン以上で利用できる『バックアップ&ステージング機能』で、数クリックで簡単に本番環境のスナップショット(バックアップデータ)の作成と、そのスナップショットを元にステージングサーバー(テストサーバー)へデータを反映させる事ができます。
サイトを設定する段階でWordPressサイトを選択する事で、ステージングサーバーへデータをセットする際にDBステージングのドメイン上で動作する形への書き換えなども半自動でやってくれたりもします。
ステージングサーバーは、PHPのバージョンを変更して動作させる事もできますので、PHP7.3を指定して作成する事で、動作テストに最適な環境が構築できます。
WordPressのステージングサーバーを設定する大まかな流れ
- さくらインターネット、サーバーコントロールパネルにログイン
- 『バックアップ&ステージング機能』へアクセスしSnapupを起動
- Snapupの左上から『サイトを追加する』
- サイト名は任意で、サイトタイプは『WordPress』を選択
- WPパスが自動で抽出されるので、WordPressをアップロードしているパスを指定(複数のWordPressを運用している場合はいずれかでテストすればOKでしょう)
- 『追加』でサイトを設定
- 画面左カラムに追加されたサイトを選択し、『スナップショットを追加、作成する』を選択
- 『本番サーバーから取得』を選択
- スナップショットの取得完了まで待機
- 画面右『STAGING SERVER』カラムで『ステージングサーバーを作成する』を選択
- http/httpsは任意(公開サイトにあわせる)、MySQLバージョンは公開サイトにあわせて自動選択済み、 PHPバージョンも自動選択済み→PHP7.3のテストをするので7.3を選択
- 『追加』でステージングサーバーを設定
- ステージングサーバーの取得完了まで待機
- 完了したら画面中央カラムから先ほど取得したスナップショットを選択
- 『ステージングサーバーへセット』をクリック
- 『サイトURLをリリース先にあわせる(既定)』にチェックをいれ、実行
- セットが完了したら、右カラムにあるURLをクリックしてステージング環境へアクセス
- ブラウザによって『安全ではないhttps通信』とエラーになるが、気にしないでアクセスする
- 403が出る場合は、一旦、Snapupのステージングサーバー>ファイルマネージャーを開き.htaccessを確認する(.htaccessでwww有無によるの転送設定や、転送設定をしてる場合は編集で取り除く)
- アクセスできるようになったら、WordPressの管理画面や、フロントエンドなどでエラーがでていないか確認
より詳細な『バックアップ&ステージング機能』設定方法などは公式サポートドキュメントが十分に分かりやすいので、ご確認ください。
WordPressプラグインPHP Compatibility Checkerを使う?
PHPのバージョンの互換性を確認できる便利なWordPressプラグイン『PHP Compatibility Checker』。今回の時のような時向けに作成された、とっても助かるプラグインです。
このツールは、このサイト上のテーマとプラグインのコードを詳細に調査し、互換性の問題に関するレポートを提供します。これらの問題はエラーと警告に分類し、問題のあるコードのファイルと行番号、およびコード行が選択した PHP バージョンと互換性がない理由に関する情報を一覧で表示します。テーマやプラグインは互換性のある新しいバージョンが提供される可能性があることから、テーマやプラグインの最新バージョンへの更新可否も案内します。
PHP Compatibility Checker インストール後の解説より
と言う事で、テスト環境なんて作ってれない! という方はこれ便利ですよね。 本番環境でプラグインディレクトリから『PHP Compatibility Checker』で検索してインストール。有効化したら左のメニューから[ツール] > [PHP Compatibility]と推移して、確認したいPHPバージョンを指定し、『サイトをスキャン』を押下すればOK。
……と思うじゃないですか?
でも、2019年6月15日時点では、PHP7.3が選択肢に無いんですよね。(その後2019年7月31日のアップデートで対応)
この件について、WordPress.orgで言及している人もいて (該当ページ Why PHP 7.3 is missing?)、それに対して同プラグインの開発元『WP Engine』のスタッフが、「今やってるからちょっとまって~」といった感じで答えています。
一見、もうすぐ対応してくれそうな雰囲気の投稿で締められていますがが、とはいえさくらインターネットの強制切替前に間に合うかは誰も保証してくれません。心に余裕がある方は、こちらを待ってみるのも良いかもしれません。
- 2019年7月31日追記 本日配信されたPHP Compatibilityバージョン 1.5.0 でPHP7.3のスキャンにも対応したようです。さくらインターネットの強制バージョンアップにはまにあいませんでしたが……。開発者さんお疲れさまです。
コントロールパネルからPHPのバージョンを手動で上げてみる
あまり推奨できないですが、個人サイトなどであまり大きい影響がないのであれば、まあ……という方法。
さくらのレンタルサーバー、コントロールパネルから[PHPのバージョン選択]ページで、PHPのバージョンを一旦PHP7.3にしてみて、管理画面にアクセスしてエラーなどが出てないか見てみるってのも出来なくはないです。
PHP7.3にした後、7.2に再度戻す事もできるので、手っ取り早く! 出たとこ勝負! って人は。こんな方法もあるよ、といった程度に。
まとめ
本記事ではさくらのレンタルサー(共有サーバー系)で利用できる基本機能の範囲内で、PHPバージョンアップ対策に必要な情報をまとめてみました。
強制アップデートでなくとも、PHPやDBのバージョンアップは、リソースが許す限り積極的に行っていくべきものですが、さくらインターネットはそういった面でも運用のしやすいサーバーであると個人的には思います。
さくらインターネット レンタルサーバーの新規契約や諸情報は下記からご確認ください。
また、どうしてもPHPアップデートチェックや、エラー対応を自身/自社でやるのが不安なので、という方はuzurea.net運営会社(web制作会社)へ、お問い合わせください(※有料対応への営業です 🙂 )