2019/09/07
かなり前にWordPressが4.5系にバージョンアップされた際に自動更新で失敗して以来、いろんなサイトの情報を元に更新を試していたんですがうまくいかず、ず~っと4.4系で運用していましたが、なんとか本日更新できました。
グーグル先生に聞いても自分のようなケースの対処法は載ってなかったので備忘録もかねて記事にしておきます。
sponsored link
終わらないデータベース更新
WordPressを更新後、ダッシュボードにアクセスすると
こんな感じでボタン付きで「データベース更新してね♡」と言われるのでボタンを押すものの…
こんな画面に移行したまま変化なしorz
「時間がかかってるから待てば終わるかな?」と1日放置したこともありましたが、ダッシュボードへアクセスするとまた「更新してね♡」の画面へ、エンドレス(*´Д`)
ちなみにこの状態でもページ自体は普通に表示されるので更新作業しないなら問題ないですが…ブログで更新作業しないなんてありえないですよね。
というわけで自分なりにグーグル先生に聞き込みしまくったんですが出てくる情報は
DB Cache Reloaded Fix(プラグイン)を入れているとこうなる!
という情報しかHITせず、うちのサイトはこのプラグインは入れたことがないので、このプラグインの情報ページに共通して書かれている
- /wp-content/db.php
- /wp-content/plugins/db-cache-reloaded-fix
上記二つのファイルを一時的にサーバから消す、という方法は取れません(そのファイルが無いので)
原因を手探りで探す
WordPress初心者の自分がグーグル先生に応えてもらえないともうお手上げ(*´Д`)
とりあえずレンタルサーバ上で
更新->ダッシュボード入れない!->バックアップデータのリストア
を繰り返してると非常に時間がかかるのでレンタルサーバのファイルをFTPで、データベースファイルをphpMyAdminでローカルに保存してInstantWordPress環境に移して原因を探ろうとすると…
ローカル環境のWordPressは自動更新で普通に更新できた( ゚Д゚)
ということはPHPやらMySQLやらのバージョン違いなどのサーバ環境の違いが原因か!?
しかもローカルで更新した場合は更新後の「データベースを更新してください」的なメッセージ画面は出ずにダッシュボードへ戻りました。
とりあえずサーバ環境の違いとかだともう自分レベルではどうしようもないので思いついた方法がWordPress自体をクリーンインストール。
なんか問題が起きた時にはやれたほうがいいと思うし練習がてら挑戦!
WordPressのクリーンインストール
再インストールの方法はグーグル先生に聞くといろんな方の解説ページが出てますので参考にしつつとりあえず一度WordPressデータを入れてるディレクトリのデータを全部消してしまおうとすると消せないファイル(というかディレクトリ)が1個だけ残る。
せっかくまっさらな状態のWordPressにしたいのにこれは気持ち悪い。
ちなみに消せなかったディレクトリは
/wp-content/backup-db/
というディレクトリ。調べてみると
WP-DBManager
というプラグインの物のようです。
WordPressを使い始めた最初のころにいろんなプラグインを試してたのでその時の名残のようです。
そして消せなかった原因はディレクトリの所有者がapacheになっていたためです。
というわけでこいつを消すための方法をグーグル先生に聞くとPHPファイルで操作する方法がいくつかあったのですがわかりやすかったのがこちらのページのPHPコピペファイル付き解説。
http://d.hatena.ne.jp/lilylila/20120222/1329892994
色々と解説が載ってますがとりあえずコピペしてPHPファイルにしてぶち込んで実行すればOK!
無事に/wp-content/backup-db/ディレクトリも消去でき、全ファイルキレイになりました(*´▽`*)
そしてまっさらのWordPress4.5.2をインストール!
気分も新たにダッシュボードへ行くと…
エンドレスって怖いw
ローカルで更新されたデータベースをサーバへ
ここまでくると自分にできそうなのはもうローカルで更新された(?)データベースをサーバにインポートしてみることくらいしか残されていません。
というわけでさっそくエクスポート後にサーバ側にインポートすると…
なにやらエラーメッセージが。
ググってみるとどうやらローカルのMySQLよりサーバ側のMySQLのバージョンが低く、メッセージにあるutf8mb4形式に対応していないためにインポートできない!と言っているようです。
それを直せば(変換すれば)いいからねー
と一言で終わっている解説ページが多く、おそらく書くほどのことでもない当たり前のことのようですが、utf-8形式で保存すればいいのか??とやってみるも同じエラー。
解説サイトで言われている「変換」ってのはデータベース形式のことらしく、ファイル保存の際の文字コードとはまたちょっと違うようです。よくわからんので間違ってるかもしれないけど。
で、変換ってのは具体的に言うと置換でした。
エクスポートしたsqlファイル内の"utf8mb4"という文字列を"utf8"に置換する
という方法でOK!
保存の際の文字コードの関係もあると思うのでメモ帳はやめておいた方がいいかも?
というわけで無事にインポートが出来たのでダッシュボードにアクセスすると…
ミッションコンプリート!
ふー、2か月くらい悩みまくってた更新が無事に完了しました!
同じような症状でグーグル先生の解決策が効かなかった方は自己責任でお試しあれ!