以下,参考の為,本日起きたサーバーアップデートに伴うトラブルの顛末を記録しておきます.
トラブルの状況 2017年10月29日
- コアサーバー システム増強,サーバー移行後の状態
- PHP5.3からPHP7.1へ変更された
- ワードプレス4.8.2でブログを構成しているが,画面が真っ白の表示がでる
- 前日(サーバー移行前)までは異常なし
- 他の非ワードプレスウェブサイトは同サーバー移行後も異常なし
トラブル発生と現象
VALU-DOMAIN Tchnical Supportから,「【完了報告】コアサーバー システム増強、および、サーバー移行メンテナンス」というタイトルのメールを受け取り,サーバーが新しくなりました.
早速,当ブログをアクセスしてみると,画面が真っ白のまま表示されません.数分待っても,何度アクセスし直しても同じままです.
試しに,もう一つの別サイトをアクセスしてみると問題ありません.念のため,サーバーのサービスサイトで状況確認しても異常なしの表示です.
接続ポートの変更
ワードプレス特有の現象からPHPを疑い,メール添付にあったFAQから下記のサイトを確認しました.
赤枠で下記の表示をみつけ,wp-config.phpの接続ポート変更変更をました.
なお、2018年3月末までを目処に、旧MySQL 5.1への接続を提供しております。(セキュリティ・パフォーマンス上非推奨)MySQLの接続ポートを [3306] から[33051]へ変更してください。
WordPressの場合、[wp-config.php]内でMySQLの接続ポート[33051]を指定します。 define( 'DB_HOST', 'localhost' ); ↓ define( 'DB_HOST', '127.0.0.1:33051' );
それでも,画面は表示しません.
PHPを一時的にバージョン5.3へ戻す ここで慌てると修復不能になるので,念の為,wp-config.phpを元に戻してから,CORESERVER.JPサイトにログインし,PHPバージョンを当ブログだけphp71からphp53へ戻してサイトにアクセスしました.
すると,真っ白画面から見覚えのある当サイトの画面が出てきて,一安心.ただし,php53への切り替えサービスがいつまで続くか不明なので,php71への変更をしておかないと安心できません.
PHP Compatibility Checker
いろいろ検索して調べてみると,もっとも怪しいのはプラグインがPHP7.1に非対応である可能性がありました.
そこで,「PHP Compatibility Checker」という,プラグインとテーマの互換性確認プラグインを使いました.
結果として,「テーマ」と「2つのプラグイン」がエラーとなりましたので,それらを停止,および互換性あるテーマに変更し,さらにwp-config.phpの接続ポート変更変更した上で確認するとPHP7.1で正常動作を確認できました.
結果
結果として,今のところPHP7.1上で正常に動作ができており,画面が真っ白になった原因は次のどれかだったことになります.
- テーマがPHP7.1に非対応だったこと
- プラグインがPHP7.1に非対応だったこと
- 接続ポートを [3306] から[33051]への変更が必要だったこと
1,2が怪しかったのですが,完全な切り分けはしていません.理由は作業中に他の現象を確認していましたので,無理に作業を進めてデータベースを壊したくなかったためです.
他の現象とは, 1. 500 インターナルサーバーエラー 2. ブログのカテゴリー分類の異常(記事が無くなっている) 3. ブログのサムネイルが一部欠損 4. ブログの右カラムが消えて管理画面に入れなくなる
これらは,自分の作業によるものなのか,サーバーマイグレーションに伴う一時的な不安定によるものなのか不明です.
上記の現象に加え,中間的なバージョンのPHP5.4,PHP5.5,PHP5.6,PHP7.0なども試したので,作業がかなり長引き,かつ複雑になってしまいました.
まとめ
結果的に非対応のテーマとプラグインの対処と接続ポートの変更で元の状態に戻りましたが,テーマが変わったので,当ブログの外観も変わってしまいました.今のところ全機能が正常に動作している様なので,数日間は様子見をしてみるつもりです.
php71からphp53への変更が簡単にできたので,助かりました.また,「PHP Compatibility Checker」が無ければ非対応プラグインの発見にもっと時間がかかっていたと思います.
サーバーのPHP 7.1へのアップデートはこれから増えて行くでしょうから,私の様なトラブルケースも増えて行くものと思います.自分へのメモと参考までにUPしました.
今日はこれまで.ではまた.