Monthly Archives: 8月 2015

WordPress 更新失敗。画面真っ白!私真っ青!

8月19日に、管理画面を見たら「WordPress 4.x が利用可能です !

更新してください。」とあったので、いつものように、「今すぐ更新する」

ボタンをポチッとな。悲劇が始まりました。真っ白になったドコライフを

前に、呆然としてしまいました。調べてみると、突然、HDDがクラッシュして

OSのクリーンインストールから始めねばならないほどの作業量が

必要になる気配。何日も何日も、復旧するための気力が湧かないままでした。

重い腰を上げて、ついに、更新を失敗したドコライフの

復旧に取りかかったのが、昨日の 15:19 。

まずは、wordpress を格納しているディレクトリの容量を調べてみると

237M でした。

さて、現在のディレクトリを名前を変えて残して、新たに作成した

ディレクトリにインストールすべきか、単純に元のディレクトリを

コピーしておいて、上書きで手動アップデートしてしてみるべきか、

作戦を練っていたら、いつのまにか眠ってました。

17:49 コーヒーをいれて再開。

まずは、wp-config.php の define(‘WP_DEBUG’, false); を

define(‘WP_DEBUG’, true); に変更して、アクセスしてみると

Fatal error を起こしていることがわかるエラーメッセージが

表示されました。その中身の検討は、あとですることにして、

まず、wordpress を格納しているディレクトリをまるごとFTPで

ダウンロードしました。次に、phpMyAdmin をインストールして、

アクセスしてみると…できない(涙)

はぁ~。。。アンインストール方法を探そう…と、インストール時の

コマンドを見てみると、

# yum –enablerepo=epel -y install phpMyAdmin php-mysql php-mcrypt

げっ!phpMyAdmin だけじゃなく、php-mysql、php-mcrypt も一緒に

インストールしてる?!

/usr/share/phpMyAdmin
/var/lib/phpMyAdmin
/etc/phpMyAdmin
/etc/httpd/conf.d/phpMyAdmin.conf

の三つのディレクトリとひとつのファイルを単純に削除して

アンインストール完了としておこう。php-mysql、php-mcrypt に

影響が出ていたら、そのときに解決することにして前に進む。

ただいまの時刻は、21:44 (涙)

別サイトを参考に phpMyAdmin を再インストール。

すんなりとは、ログイン画面に至らず、いろいろ、設定ミスを

直して、なんとか、phpMyAdmin にログイン成功(22:30)

wordpressファイルとsqlファイルのバックアップが取れたので、

次のステップに進むために、表示された wordpress のエラーを頼りに

検索してると、「WordPress 4.3 アップデートで画面が真っ白

WP-Ban プラグインには要注意!」というページに遭遇しました。

これだ!これに違いないと、思い込むことにして、次のステップは、

WP-Ban プラグインを 1.66 にアップデートし、WordPress 4.3 への

アップデートは手動で行うという方針を立てたところで、昨日の

作業は終了。

今朝の9時半ごろから作業再開。WP-Ban の Version 1.66 を

ダウンロードして解凍。/wp-content/plugins/wp-ban/wp-ban.php を

wp-ban.php.bak にリネームして、ドコライフにアクセスすると見事に

真っ白画面は解消され、元の画面に戻りました(感涙)

あとは、粛々と作業を進めるだけです。

一応、wp-ban をバックアップしておいて、旧バージョンの

WP-Ban をフォルダごと削除します。次に WP-Ban Version 1.66 を

FTP で wp-ban のフォルダごとアップロード。これで、WP-Ban は、

アップデートできたので、Wordpress の4.3への更新は、手動ではなく

statpress の「今すぐ更新」ボタンを押しました。支障なく完了。

昨日の作業は、Wordpress を初めてバックアップするために

ドタバタしただけなので、実質的な復旧作業は、約30分ほどで

完了したことになります。

今回のWordpress 更新失敗の原因は、4.3以前には、

language_attributes() という名前で使っていた関数を

get_language_attributes() とリネームしたために、WP-Ban プラグインの

1.65 以前に使っていた同名の get_language_attributes() 関数と

関数の二重定義エラーを起こしたためだったとのことです。

skyblues さん、まことにありがとうございました。