wordpressに推奨されるままにロリポップでPHP7に切り替えたらエラーが出た
自分の覚書として。
最近、理由がセキュリティなのかパフォーマンスなのか確認すらしていないですが、とにかくwordpressをアップデートするために、PHPを最新の状態にすることを求められるようになりました。
サジを投げたような文章なのは、管理サイトのサーバーをレンタルサーバー会社に依存している場合、サーバーによっては厄介な案件となるからです。
ハートブレーンのサーバーはロリポップなので、その辺りは非常に助かりました。
PHPを切り替えるのに、ダウンロードした申請書を記入して署名と実印を押して投函し先方の返事を待ち……だと1週間前後かかりますから。
で、他にも何件かロリポップを利用しているサイトなどがありますので、一気にPHP7に切り替えたのですが、切り替え後のサイトに表示されたのは従来の内容ではなく、データベースエラー。
頭が真っ白になってしまったのですが、こちらはロリポップのデータベース接続方法に原因があったようです。
セキュリティレベルを上げたらしいPHP7では、PHP5.6まで使用されていた「old_password形式」では接続できない、とのことでして。
一度データベースのパスワードを変更すると、自動的に「native_password形式」に切り替わると案内があったので、実行しました。
その後、各サイトのwp-config.phpの下記の部分を入れ替えるのも忘れずに。
define('DB_PASSWORD', 'パスワード');
上記の操作で大体のサイトは表示されたのですが、1つだけまだエラーが出ます。
「サイトに技術的な問題が発生しています」と内容を変えて。
Google先生に尋ねてみて、使用中のテーマやプラグインと使用中のPHPのバージョンとの互換性を確認できる「PHP Compatibility」というプラグインをインストールしました。
しかし、いくつかWarningはあったものの、Errorはゼロ…。
こうなったらそもそもプラグインが原因なのかを探るためにもプラグインを全停止させてみよう!と停止したら、サイトは表示されまして。
その後プラグインを1つずつ有効にしていって原因を特定しよう!と再びエラーが出ること前提で作業を進めていったら
原因となったプラグインを再び有効化した時に「エラーが発生したのでプラグインを有効化できません」と警告が出ました。
ちなみに以前にも色々と問題が起きた「Exec-PHP」でした。
その後どのプラグインを有効化してもエラーにならなかったので、ビンゴだった模様です。
便利で有効活用させていただいていたプラグインでしたが、以前から指摘されていた問題点を無視して使い続けると、こうした問題も発生する可能性があるよ?ということで。
よろしければ、SNSでのシェアやランキングなど、応援よろしくお願いします。