wordpress

WordPressのプラグインがエラーを突然起こす。プラグインディレクトリの操作で解決。

投稿日:

当ブログはWordpressを使っていますが、プラグインのエラーが突然発生してアクセスが一時的に急激に落ちるという事象がおきました。

問題に気付いたのはアクセス状況を確認グーグルアナリティクスで見たところグラフの線がドンと落ちていた時でした。下の図の赤い丸の辺りが問題の時点です。

それで、ブラウザでページを開いてみるとこのようなエラーメッセージが。。。
Fatal error: Cannot redeclare class WPOAuthUtil in /home/hogehoge/hogehoge.com/public_html/wp-content/plugins/wp-to-twitter/WP_OAuth.php on line 750

(SPONSORED LINK)


PHPのエラーです。少し深く見てみると「wp-to-twitter」というプラグインのWP_OAuth.phpの750行目に深刻なエラーが存在するということです。WP_OAuthといのもあるのでTwitterへの認証の仕組みで何か問題があるのだと思います。

原因をきっちり調べる前にまずは改善をする必要があります。

まずは、プラグインのwp-to-twitterを無効にしたいところですが、Wordpressの管理画面にログインを試してみてもエラーが出てログインすらできません。

そこで、取った方法がサーバにSSH接続をしてpluginsディレクトリからプラグインのディレクトリを移動することです

WordPress の仕組みはわかりやすくてpluginsディレクトリに各プラグイン用のディレクトリが格納されています。ここにあるディレクトリを読み込んで機能しています。

なので、Pluginsディレクトリからプラグイン用のディレクトリを丸ごと移動をするとプラグインを無効にすることができます。

それで、例として僕が実施した作業は3点だけです。
サーバにSSH接続

Pluginsに移動
#cd [サイトごとのディレクトリ]/public_html/wp-content/plugins

プラグインディレクトリの階層移動
#mv wp-to-twitter ..

これだけです。ちなみに、ディレクトリ移動ではなくてディレクトリの名前変更でも対応可能です。名前を変えるだけでデータベース内の情報と一致させないことで機能を不全にさせています。

とりあえず、サイトの復旧は暫定的に完了です。それにしても、今回は早めに気づくことができたので良かったのと、過去にインフラエンジニアとしての経験が今回に活かすことができたので助かりました。今回の現象では管理画面にすらログインできなかったので、SSHの操作に慣れていない人に同じ現象が起きたら復旧をどのようするか心配です。

それから、今回のエラーの原因になっていたプラグインは、記事を新しく投稿したときに自動的にツイッターに投稿してくれる有用な機能なので再度利用したいので対応を考えようと思います。

-wordpress
-, , , ,

Copyright© ZIBUNLOG , 2017 All Rights Reserved Powered by AFFINGER4.