WordPress Logo

このブログを見たクライアント様からワードプレスに関するエラー解消のご依頼をいただきました。

曰く「ウェブサイトの修正をしていた際に急にワードプレスにログインできなくなってしまった」とのこと。

一時的にワードプレスをデバックモードにして、試しにワードプレスの管理画面にアクセスしてみたところ、以下のようなエラーが出力されていました。

Warning: Illegal string offset 'remember' in /XXX/XXX/wordpress/wp-includes/user.php on line 41

Warning: Cannot assign an empty string to a string offset in /XXX/XXX/wordpress/wp-includes/user.php on line 41

Warning: Illegal string offset 'user_login' in /XXX/XXX/wordpress/wp-includes/user.php on line 56

Fatal error: Uncaught Error: Cannot create references to/from string offsets in /XXX/XXX/wordpress/wp-includes/user.php:56 Stack trace: #0 /XXX/XXX/wordpress/wp-login.php(776): wp_signon('', '') #1 {main} thrown in /XXX/XXX/wordpress/wp-includes/user.php on line 56

調べてみると、どうやらPHPをバージョンアップした際に起こるエラーらしいことを突き止めました。
具体的にはPHP5.x系からPHP7.x系にアップデートすると、このエラーが起こるようです。

FTP経由でワードプレスのディレクトリの直下にある「wp-login.php」にアクセスし、780行目付近にある下記のコードを書き換えることでエラーが解消されました。

書き換え前

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

書き換え後

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

同じ問題でお困りの際はぜひお役立てください。