こんにちは。SaitoKouです。
ここ数日かなり悩まされていた件についてメモを書きます。今現在ほとんど発生していないので、いったんは解決したとみていい(と、勝手に思っています。笑)
発生していた現象
はっきりと「これをしたからだ!」というきっかけはわからないのですが、簡単に書くと以下のような感じ。
- ホームページ(どのページでも)を開こうとすると「データベース接続確立エラー」が出現する。
- 必ず出るわけではなく、発生がランダム(ここ重要)
- phpMyAdminでも同様の現象が起きる。(サーバーにつながったり、すぐ切断されたりする。)
非常に厄介なのが2番目の特徴で、サイトが開ける時もあるということ。
ランダムで発生するため、これ!といった原因がつかめませんでした。
確認1:wp-config.phpのミス。
「データベース接続確立エラー」あるあるの一つで、このファイルの接続情報が間違っているとエラーが発生するそうでした。ただ、今回の場合だと「サイトが開ける時もある」ため、おそらくファイルは正しいと判断。(もしファイルが間違っていたら常にサイトを開けないはず。)
確認2:とりあえずphpMyAdminでデータベースを確認。
ここで異変が起きました。正しいパスワード、サーバ名でログインしているのに、phpMyAdminがエラーで開かない!何回か連続でログインを試してみて、やっとこさ開いた後も、急にセッションが切れたりとめっちゃ不安定な動きをしていました。この時点で、サーバーかデータベースが何かおかしいと判断。
確認3:データベースを、ほかのサーバーに移してみる。
データベースに保存されている文字列やらなんやらが悪さしているのかと思い、いったんバックアップを取って、別のサーバーにそのまま復元してみました。すると、正常に動くではありませんか!このことから、データベースには問題がなく、サーバーに問題があると断定。
確認4:サーバー障害?を疑う。
サーバーに障害が発生しているのかと思いロリポップに連絡。迅速な対応でサーバーを調べてもらったところ、サーバーは正常に動作しているとのことでした。追記で「Webサイトのプログラムにてアクセスがループしている」と連絡が来ました。どうやらプラグインやテーマの影響だったようです。
確認5:Webサイト側のプログラムの見直し。
確かに調べてみると、プラグインやテーマが最新じゃないものもありました。これらをいったん最新にして再度確認。しかし、依然として発生していました。
確認6:余計なプラグインの停止+アクセラレータをON
さらに色々調べてみると、データベース接続確立エラーは、サーバーへのアクセスが以上に多くなってしまった場合にも発生するらしかったです。そこで、サーバーへアクセスする頻度が高いであろうプラグインを何個か停止しました。また、ロリポップ管理画面でアクセラレータをONにして、高負荷にもいくらか耐えられるように設定しました。
ここまでやって、何とかエラーは起きなくなりました。再発したらまた記事書きます(笑)
まとめ
とりあえず気を付けようと思ったことは以下です!
- プラグイン、テーマは定期的最新に!
- ゴミデータは削除!(そういうプラグインあります)
もし誰かの役に立てれば幸いです!
あと、ロリポップのカスタマーセンターさんにも助けてもらいました。ありがとうございます!
★☆★☆★☆ ナウでヤングなレンタルサーバー!ロリポップ! ☆★☆★☆★