2019/02/06
sponsored link
もくじ
WordPressの更新に失敗!
WordPress(以下wp)の管理画面の上の方に、
「WordPress 3.6 が利用可能です ! 更新してください。」
って更新を促すメッセージが出てるので軽い気持ちで更新してみると、何分待っても更新が終了せず、仕方ないのでブラウザを閉じた。。
・・なんていう事をしでかすのは僕だけなんでしょうか?
その後、wp管理画面にアクセスすると、真っ白な画面に、
Warning: call_user_func_array() [function.call-user-func-array]: First argument is expected to be a valid callback, ‘_show_post_preview’ was given in /export/sd208/www/jp/r/e/gmoserver/(ドメイン)/wp/wp-includes/plugin.php on line 406
Warning: Cannot modify header information – headers already sent by (output started at /export/sd208/www/jp/r/e/gmoserver/(ドメイン)/wp/wp-includes/plugin.php:406) in /export/sd208/www/jp/r/e/gmoserver/(ドメイン)/wp/wp-includes/pluggable.php on line 875
という素人には到底理解不能な謎の警告文が表示されるだけで、何もできなくなります。内心かなりパニックです。
サイトの方は一応表示されてはいましたが、画面の上の方に上記の謎の警告文が常に出ている状態でした。なので、何も知らない人がサイトを見ると「このページは何かに感染しているのか?」と怖くなってしまうような雰囲気を醸し出していました。
よく、プラグインが原因で更新が上手くいかないとか聞きますが、状況的に、更新が完了しておかしくなったのか?それとも更新自体正常に完了していないのか?もうわけが分かりませんでした。
が、なんとかかんとか自力で解決できたので、その方法を記しておきます。
復旧作業の流れ
wpの管理画面は一切触れない状態なので、FTPソフトを使って、直接wp本体をいじります。
管理画面が触れなくても、サーバにはwp本体及び、画像ファイルなどはデータとしてもちろん存在しているので、FTPソフトを使って、それらを一旦救出して最新のwpに組み込んで、もともとあるwp本体と入れ替える形でアップロードします。つまり手動でwpをインストールしなおすわけですね。
※FTPソフトは、FFFTPが有名ですが、僕はALFTPを使っています。こっちの方が安定していて使いやすいと思います。
1、最新版WordPressを手に入れる
まずは、更新するべき最新版のwpを手に入れます。
WordPress.ORG 日本語にアクセスして、最新版をダウンロードします。画面右の方にあるのですぐ分かると思います。
ダウンロードしたこの最新版wpは、もちろんまっさらな状態なので、ここに元のサイトで使っていたthemeや画像ファイルをぶち込んで、もとのサイトを最新版のwpで再現していきます。
2、themeを新wpフォルダに移す
FTPソフトを使って、もともと使っていたthemeをダウンロードします。場所は「wpのルートディレクトリ/wp-content/themes」の直下にあるはずです。もちろんthemeの名前は人それぞれですので自分が使っていたthemeを見つけてください。
ダウンロードしたthemeを先ほどダウンロードした最新版wpの「wp-content/themes」の直下にドラッグして放り込みます。
3、uploadsフォルダを新wpフォルダに移す
サーバ上の「wpのルートディレクトリ/wp-content」の直下にuploadsというフォルダがあるんですが、この中に、もとのサイトで使っている画像ファイルが全部入っています。こいつを救い出します。uploadsフォルダをフォルダごとダウンロードしてください。
そのダウンロードしたuploadsフォルダは、最新版wpのフォルダ内の「wp-content」の直下に放り込みます。
4、config.phpを新wpフォルダに移す
サーバ上の「wpのルートディレクトリ」の直下に、「wp-config.php」というファイルがあります。そのファイルをダウンロードします。
ダウンロードした「wp-config.php」を、最新版wpのルートディレクトリ(wp-adminやwp-contentなどのフォルダと同じ階層)に放り込みます。
「wp-config.php」には、このwpで使うデータベースについての情報(DB名やパスワードなど)が書き込まれています。DBにはご存知のように、コンテンツ(文章)やwpの設定等がぎっしり記録されています。なので、「wp-config.php」を正しく設置せずに、wpを復活させても、もとのサイトの情報がつまったデータベースとは連携できないので、コンテンツは何も無い状態になってしまいます。
ちなみにまっさらの最新版wpの中には「wp-config.php」は存在しません。wpをインストールする時に初期設定としてDBの情報を書き入れることで「wp-config.php」は作られるようです。
もとのサイトの情報がつまったDBをそのまま使えるように、もとのサイトで使っていた「wp-config.php」をそのまま使いまわすというわけです。
これで、もとのサイトの情報を放り込んだ最新版wpの完成です。これを然るべき場所にアップロードすればwpが最新版に更新された状態でサイトは復活します。
5、プラグインは入れない
ただし、もとのサイトで使っていたプラグインは切り捨てます。プラグインは素人には謎が多いのでややこしい時は触らないことです。。
wpが正常に操作できるようになってから、また必要なプラグインはインストールしなおせばいいです。
プラグイン内で扱っていたデータなんかも普通はDBに残っていますので、同じプラグインをインストールしなおせば、また以前のデータを使えますのでご心配なく。
サーバ上の「wpのルートディレクトリ/wp-content」に「plugins」というフォルダがあり、その中にもとのwpでインストールしていたプラグインがズラッと置いてありますので、もしもともと使っていたプラグインを参考に再インストールしたい人はメモを取っておくなりしましょう。
6、もとのWordPressを消去!
かなりドキドキする作業ですが、サーバ上のwpを一旦全部消します。
消す前に全部ダウンロードして保存しておけば、また元に戻すことはできるので保存することをおすすめします。とは言え、この場合、元が壊れているので元に戻したところで何も解決しないんですが。。
サーバ上のwpのルートディレクトリ(wp-adminやwp-contentなどのフォルダが置いてある階層)以下を全部消します。
削除すると、当然もとのサイトにアクセスしても何も表示されません。
7、最新版wpをアップロード
空っぽになったルートディレクトリに、先ほどいろいろ元のサイトの情報を放り込んで作った最新版wpをアップロードします。
フォルダごと行かないように注意してください。移すのはフォルダの中身だけです。ルートディレクトリ(wp-adminやwp-contentなどのフォルダが置いてある階層)以下を全て、先ほど空っぽになったサーバ上のwpのルートディレクトリにアップロードします。
もともとあったのと中身を入れ替える形ですね。余計な階層が増えないように中身だけ移すようにしてください。
8、「wp-config.php」の権限を変更
最後にセキュリティの為に、「wp-config.php」の権限を600に変更しましょう。
これで完了です!
wp管理ページにアクセスして見てください。最新版に生まれ変わりつつも、もとの情報がつまったWordPressになっているはずです!
あとは、必要なプラグインを再インストールしたら完璧です。
治ったかい?
もうこんなとこ来るんじゃないぞ。
今だけ→転職できなければ全額返金の「エンジニア転職保証コース」
絶対エンジニアになる!→テックエキスパート
フリーランスエンジニアの収入例を見てみる→レバテックフリーランス
コメント
ありがとうございました。
かなり焦りましたが、命拾いしました。
ありがとうございます。
by Hiroko 2014/09/08 20:30
確かに焦りますよね。^^;
助かってよかったです。
by nobuo@管理人 2014/09/09 10:46
[…] 具体的な手順に関しては、こちらで解説しています → WordPressの更新に失敗して焦った時に、復旧する方法 […]
by Wordpressバージョンの確認方法や、最新版にアップデート(アップグレード)する方法と、失敗(できない)時の改善策 2014/09/27 17:30
[…] ブログ記事は諦めるしかないかもしれない… と焦燥しきった末に検索して見つけたのがこのサイト WordPressの更新に失敗して焦った時に、復旧する方法 […]
by ブログの引っ越しのお知らせ 2015/07/01 17:10
ありがとうございました!ワードプレスの更新ボタンをポチッと押したら画面が真っ白になって僕も顔面蒼白。焦りました。ググって辿り着いたこちらのページを参考にして復旧できました。ありがとうございました。感謝しています。
by タカタロウ 2015/09/03 22:29
ありがとうございました!1年半、放置していたサイトを最新版で修復することができました。感謝です。
ただ、Mac上であれこれ操作してからサーバーにuploadしたのですが、最後に、index.php のpermission を 644 しないと、600のままでエラーでした。ご報告まで。
by <ふ> 2016/01/05 13:08
[…] http://nobuo-create.net/wp_down/ […]
by WordPressの更新 失敗したとき | 備忘録 2016/02/10 01:10
[…] WordPressの更新に失敗して焦った時に、復旧する方法 […]
by サイト復旧成功! | メルボルンでワーキングホリデー 2016/06/24 16:58
ありがとうございました
こちらのサイトに、2度助けられました・・・
プラグインの情報が古いまま
WordPress のアップデートを行って
真っ白になってしまった時は本当に焦りました!
by Kazuo 2016/06/27 12:42
助かりました。ありがとうございます。
そして最後の2行に惚れました。
by arigato 2017/01/19 00:38