CodeLab技術ブログ

プログラミング技術まとめ

WordPressをPHP7にしたら壊れた

PHPも現在は7が主流になってきました。
サーバーのPHPバージョンをPHP5系からどうしても上げなくてはいけなくなってくることもあるかと思います。
PHPのバージョンアップでWordpressが壊れたときにどうしたらいいかの対処法です?

上げる前に絶対すべきこと

まずはバックアップ、Wordpress本体とデータベースを別の場所にバックアップを取りましょう。
次に、Wordpressやプラグイン、テーマのバージョンを最新にしましょう。
セキュリティー上問題があるので、基本的に常に最新にすべきですが、やっていないという人も多いかと思います。
本体やプラグインの更新は管理ページの上の方に、メッセージが出ているはずです。

また、PHPを前のバージョンに戻せるのであれば、戻す方法をあらかじめ調べておく方が良いでしょう。
できれば、新規のサーバー環境を用意して、そこにいったん移植してテスト、もしくは移行することをお勧めします。
元の環境ををのまま残せるのであればその方が確実です。

とりあえず動作テスト

PHPのバージョンを上げたら、まずは動作テストをしましょう。
ブログの記事が何百もある場合、全部見るのはさすがに無理だと思いますが、最低限、固定ページや投稿一覧、個別の投稿ページなど、種類ごとにいくつかアクセスしてみて、表示がおかしくないかは必ず調べましょう。

そして、できればWebサーバーのログで何かしらのエラーがないか見てみましょう。
どこかでエラーやワーニングが発生している場合があるかもしれません。

問題があったらどうするか?

基本的に、最新版であればWordpress本体はPHP7に対応しています。ですので、Wordpressが原因である場合はほぼないとおもいます。

問題があるとすれば、大体プラグインやテーマが原因です。
Webサーバーのエラーログを見ることで、エラーになったファイルが特定できます。フォルダから何のモジュールがおかしいのか検討がつけられますので、まずそのおかしくなったプラグインを外してみます。
外し方は、管理ページが見れる状態であれば管理ページから。管理ページのアクセスができないのであれば、FTPなどで該当のモジュール一式をどこか別の場所に移動しましょう。

特に使っていないプラグインであればそのまま外しておきましょう。
どうしても使わなければならないということであれば、最新版のバージョンで対応しているかを確認しましょう。または代替のプラグインを探す必要があるかもしれません。
どうにもならないのであれば、PHPのバージョンを元に戻すしかありません。

私の場合、”ktai-style”プラグインが原因で動作に不具合が生じました。
フューチャーフォン(ガラケー)での表示に対応するプラグインですが、さすがにもうガラケーで見る人はいないと思いますので、修正せずにそのまま外しました。
テーマなども、更新がされていないものだと何等か不具合が出る可能性はあります。

最も安全なのは

最も安全な方法は、元のサーバーをそのまま残しつつ、別のサーバーに移植して移行する方法です。
新サーバーで問題ないことを十分確認してからDNSを変更して飛び先を変更するのか確実です。
念のため1か月程度運用して、本当に問題ないということを確認してから、元のサーバーを解約すれば安全に対応できるかと思います。

コメントは受け付けていません。