WordPress3.6から3.8.1へのワンクリック更新をやってみた
eAcceleratorのキャッシュをクリアしないとアップグレードが失敗っぽく終わる
結論からいうとアップグレードは無事に終わったようだ。
WordPressのアップグレードはやったことがなく、なんとなく苦手意識があったのだが重い腰をあげてやってみることにした。そして、eAcceleratorのコードキャッシュが原因でアップグレードが失敗したような感じになった。そのため、アップグレードがうまくいかず、サーバ側でコードキャッシュを行っている場合は、その部分を確認してみるとうまくいくかもしれない。
事前準備
- コンテンツとDBのバックアップ
- twentythirteenのカスタマイズを子テーマに移行
- プラグインの無効化
バックアップについては、WordPressのルートディレクトリをすべてコピーし、mysqlのエクスポートでデータべースのバックアップをしてから作業した。
公式テーマのtwentythirteenに直接カスタマイズをしていたので、twentythirteen用の子テーマを作成してカスタマイズしたファイルだけを子テーマ側にコピーした。twentythirteenにもバージョンがあり、3.6と3.8ではバージョンが上がっている。そのため、ワンクリック更新でtwentythirteenが上書きされても良いように子テーマを作成し、カスタマイズの内容が上書きされないようにした。
プラグインの無効化については、
アップグレードの前にプラグインを無効化したほうがいいよ
という話を聞いていたのでそうした。
ワンクリック更新ボタン押下、失敗?
事前準備が整ったので、更新ボタンを押してみる。
ダウンロード中や適用していますメッセージが表示された後、なぜか
ようこそWordPress3.6へ
みたいな画面が表示された。しかも
WordPress3.8.1が利用できます
という例の更新を促すメッセージが表示されている。そして、明らかに管理画面にCSSが適用されていない状態になった。
率直なところバグっているのである。3.6と3.8の状態が入り混じった状態になっていて、失敗したのだと思った。
firefoxのfirebugにはエラーが上がっていて、3.6の管理画面のcssがNot Foundで読み込めずエラーになっていた。そのため、ブラウザのキャッシュかなと思い、キャッシュをクリアしたり、普段使わないブラウザでアクセスしてみるも解決せず。
冒頭書いたようにeAcceleratorのコードキャッシュを削除して、ブラウザの更新ボタンを押したところ、サーバのハードディスクがジコジコ動き出して、アップグレードはうまくいった。
マルチサイト構成にしているので、その後各ブログサイトのデータベース更新も無事終了することができた。
肝を冷やした。