ただいまの人気記事はこれ!おすすめ記事いろいろ

エラーメッセージが出てWordPressにログインできない場合の対処法

WordPress
当サイトでは記事内に広告を掲載しています。

先日、運営しているブログの1つを確認したところ、エラーメッセージが出てログインできなくなっていました。

そのブログはWordPressで作ったもので、こんなメッセージが出ていました。

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /home/××××/wp-content/plugins/all-in-one-seo- pack/modules/aioseop_opengraph.php on line 825

Warning: Cannot modify header information - headers already sent by (output started at /home/××××/wp-content/plugins/all-in-one-seo-pack/modules /aioseop_opengraph.php:825) in [home/××××/wp-includes/pluggable.php on line 1183

このエラーメッセージをみると、「wp-content/plugins/~」とあり、どうやらプラグインが影響しているもようです。

この場合は「all-in-one-seo-pack」ですね。このプラグインの動作を停止すれば、エラーを解消できる可能性があります。

……が、現状、WordPressにログインないので、ダッシュボードからプラグインを停止することはできません。

というわけで対策してみました。

作業の概要

実際に作業してみてわかったのですが、今回の問題は、次の2つが原因だったもようです。

  1. プラグインによるエラー
  2. PHPのバージョン違いによるエラー

私は、1だけだと思っていたので次に紹介する「対策1」を行ってみました。

が、それで1の問題が解消すると、今度は2のエラーがでました。というわけで続いて「対策2」を行いました。

作業を振り返ってみると、最初から「対策2」だけでどちらも解消できた可能性があります。

が、同じ症状で困っている方もいるかもしれませんので、「対策1」「対策2」の両方を記載していきます。

対策1 プラグインのフォルダ名を変更

エラーメッセージをみると、プラグインが存在する階層が書かれています。この場合は「home/××××/wp-content/plugins/~」ですね。

というわけで、さくらのレンタルサーバのコントロールパネルから、ファイルマネージャーとすすみます。

さくらのレンタルサーバ ファイルマネージャー

 

そして、そのWordPressをインストールしたフォルダの「/wp-content/plugins/」を開きます。

「/wp-content/plugins/」

そこで、エラーの原因となっているプラグインを探します。

ネットで検索したところ、原因となっているプラグインのフォルダ名を変更すると、エラーを解消できる可能性があるとのこと。

要は、フォルダ名を変えることで、プラグインを仮で停止できるわけですね。

というわけで、後ろに適当な数字をつけて「all-in-one-seo-pack2」としてみました。これでこのプラグインの動作は停止するはず。

そして、ブログにアクセスしてみると……ありゃ、新たなエラーメッセージが

Warning: Illegal string offset ‘remember' in [home/××××/wp-includes/user.php on line 39

Warning: Cannot assign an empty string to a string offset in [home/××××/wp-includes/user.php on line 39

Warning: Illegal string offset 'user_login' in [home/××××/wp-includes/user.php on line 54

Fatal error: Uncaught Error: Cannot create references to/from string offsets in /home/××××/wp—includes/user.php:54 Stack trace: #0 /home/××××/wp-login.php(775): wp_signon(", ") #1 {main} thrown in /home/××××/wp-includes/user.php on line 54

プラグイン関連のエラーメッセージは消えましたが、今度は「Warning: Illegal string offset~」という警告に変わりました。

これは、PHPのバージョンの違いで発生するエラーのようです。

調べてみると、このエラーが出た場合は「wp-login-php」を書き換えることで解消できるとのことで、さっそくやってみました。

書き換えに関しては、こちらのサイト様を参考にさせていただきました。

スポンサーリンク

対策2 wp-login-phpを書き換え

「wp-login-php」は重要な項目ですので、作業を行う際は必ず事前にバックアップを取った上で自己責任でお願いいたします。

「wp-login-php」を開き、次の部分を探します。

$user = wp_signon( '', $secure_cookie );

キーボードのCtrlFキーで検索すると、すぐにみつかりました。

 

これを次のように書き換えます。

$user = wp_signon( array(), $secure_cookie );

あとはこのまま保存すればOKです。

これでWordPressにログインできるようになりました!

その後にやること

WordPressにログインができたら、次のことをします。

  • 必要に応じてWordPressのバージョンを上げる
  • 問題になったプラグインをアップデート、または停止する
  • プラグインのフォルダ名を変えた場合は、ファイルマネージャーから元に戻しておく

私の場合はこれでエラーがすべて消えました。

まとめ

今回はエラーメッセージが出てWordPressにログインできない場合の対処法をお届けしました。

WordPressにログインできれば、プラグインも停止できますので、最初から対処法2をとってもよかったかもしれません。よかったら参考にしてみてください。

スポンサーリンク
WordPress
ゆずゆろぐ。の本が出ました!
ゆずゆろぐ。の本が出ました! 完全書きおろし、Amazonで販売中です。興味のある方はぜひどうぞ!
ゆずゆをフォローする
この記事を書いた人
ゆずゆ

読むと、ちょっぴり役に立つ&たのしくなるコンテンツを発信しています。クッピーラムネとAmazonのFire HD8がお気に入り。雑貨マニア。

ゆずゆをフォローする
ゆずゆろぐ。
タイトルとURLをコピーしました