「WordPress」カテゴリーアーカイブ

WordPressの画面が真っ白になっちゃったΣ(・□・;)

WordPressの画面が真っ白になってしまいました。またデータベース接続確立エラーが発生したのか?しかし、今回は画面に何も表示されません。真っ白な画面が表示されるようになってしまったのです。

調べてみると色々な原因で画面が真っ白になる現象は発生するようです。弊社の場合はというと。。。

まずはWordPressのデバッグモードをONにして調べてみましょう!

設定ファイル(wp-config.php)の以下の個所をfalse => trueに変更します。

/**
 * 開発者へ: WordPress デバッグモード
 *
 * この値を true にすると、開発中に注意 (notice) を表示します。
 * テーマおよびプラグインの開発者には、その開発環境においてこの WP_DEBUG を使用することを強く推奨します。
 */
define('WP_DEBUG', true);

そしてサイトに再度アクセスすると、画面にエラーが表示されました。

Parse error: syntax error, unexpected T_STATIC, expecting T_STRING or T_VARIABLE or '$' in /home/nexstage-service/public_html/wp/wp-content/plugins/backwpup/vendor/inpsyde/phone-home-client/src/FrontController.php on line 68

PHPの構文エラーが発生しています。どうやら先日更新したBackWPupというバックアップを行うプラグインで構文エラーが発生してるようです。プラグイン更新やWordPressバージョンアップ後にはサイト表示を確認した方がいいでしょう。このプラグインとサーバーのPHPのバージョンが合っていなかったのでしょう。

復旧のため問題となっているBackWPupプラグインを退避しましょう。

wp-content/plugins/backwpup

私は一つ上のディレクトリに移動しました。

wp-content/backwpup

サイトが表示されるようになりましたので、WordPressにログインします。次に退避したプラグインを元に戻しインストール済みプラグイン画面を表示します。
そしてBackWPupプラグインを削除します。

残念ながら別のバックアッププラグインに変更するしかないですね。

WordPressでデータベース接続確立エラーが急に出たよ!

久しぶりにWordPressサイトを見ようとすると「データベース接続確立エラー」が表示されました!!よくある原因としてはWordPress設定ファイル(wp-config.php)を変えてしまった。もしくは、MySQLのパスワードを変えてしまったことらしいです。

しかし、自分では変えていないので、もしかするとサーバーが攻撃されてしまった!大変です!

ちなみにWordPressサイトに接続すると以下のように表示されます。

英語設定の場合は「Error establishing a database connection」と表示されます。

Error establishing a database connection

まずはwp-config.phpを確認しましょう。大丈夫でした!

次にMySQLにログインしようとすると、

# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)

もうわかりましたね♪ MySQLのソケットが消えちゃってました・・・

でもまた何でそんな事が起こるのか???ソケットを復旧させるとWordPressの更新が走りました。

どうもWordPress更新の時にMySQLのソケットが消えるトラブルは起きやすいようです。

復旧方法は以下を参照下さい↓ めでたし♪

MySQLでソケットエラーERROR 2002 (HY000)が発生する場合の解決法

MySQLデータベースを更新する

WordPressでログインが出来なくなった場合に復旧のため直接MySQLデータベースを更新する必要があります。

もしもの時のためにコマンドラインからMySQLデータベースを更新する方法を調べてみました。

# mysql -u root -p
Enter password:
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| test               |
| wp_test            |
| wp_sample          |
+--------------------+
9 rows in set (0.00 sec)
■WordPressのデータベースに接続する
mysql> use wp_test;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

■テーブル一覧を表示する
mysql> show tables;
+-----------------------------+
| Tables_in_wp_test           |
+-----------------------------+
| wp_test_commentmeta         |
| wp_test_comments            |
| wp_test_links               |
| wp_test_mappress_maps       |
| wp_test_mappress_posts      |
| wp_test_options             |
| wp_test_postmeta            |
| wp_test_posts               |
| wp_test_term_relationships  |
| wp_test_term_taxonomy       |
| wp_test_termmeta            |
| wp_test_terms               |
| wp_test_usermeta            |
| wp_test_users               |
+-----------------------------+
14 rows in set (0.00 sec)

■「siteurl」「home」の内容を確認する。
mysql> select * from wp_test_options where option_name = 'siteurl';
+-----------+-------------+--------------------------+----------+
| option_id | option_name | option_value             | autoload |
+-----------+-------------+--------------------------+----------+
|         1 | siteurl     | https://horiejoho.dip.jp | yes      |
+-----------+-------------+--------------------------+----------+
1 row in set (0.00 sec)

mysql> select * from wp_test_options where option_name = 'home';
+-----------+-------------+--------------------------+----------+
| option_id | option_name | option_value             | autoload |
+-----------+-------------+--------------------------+----------+
|         2 | home        | https://horiejoho.dip.jp | yes      |
+-----------+-------------+--------------------------+----------+
1 row in set (0.00 sec)

■「siteurl」を変更してみます
mysql> update wp_test_options set option_value = 'https://horiejoho.dip.jp/wp/' where option_name = 'siteurl';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

■変更されているか確認します
mysql> select * from wp_test_options where option_name = 'siteurl';
+-----------+-------------+------------------------------+----------+
| option_id | option_name | option_value                 | autoload |
+-----------+-------------+------------------------------+----------+
|         1 | siteurl     | https://horiejoho.dip.jp/wp/ | yes      |
+-----------+-------------+------------------------------+----------+
1 row in set (0.00 sec)

■元に戻しておきましょうね
mysql> update wp_test_options set option_value = 'https://horiejoho.dip.jp' where option_name = 'siteurl';
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

■「siteurl」が元に戻っていることを確認します
mysql> select * from wp_test_options where option_name = 'siteurl';
+-----------+-------------+--------------------------+----------+
| option_id | option_name | option_value             | autoload |
+-----------+-------------+--------------------------+----------+
|         1 | siteurl     | https://horiejoho.dip.jp | yes      |
+-----------+-------------+--------------------------+----------+
1 row in set (0.00 sec)

mysql> exit
Bye

「home」を変更する場合は、「siteurl」を「home」に変更して下さい。