WordPressが壊れテーブル単位で復旧
焦りました(><);
このブログですがスマホ対応してなかったので、なにかよさげなテンプレートが無いかと 試していたんですが、突然 PHPでエラー発生!
やってしまったか? と思いバックアップから戻そうとしたところ、バックアップが取られてなかったんです
ダブルショック!
で、とりあえず過去の記事が見れる状態まで復旧できたので対応をメモしておきます
◆状況
<スペック>
・レンタルサーバー:Lolipop
・PHP : 5.3
・wordPress : 4.1.26
新規のテンプレートを反映した直後にPHPでエラー発生!
新規に導入したテーマのフォルダー名を適当に変更するが、何も表示されなくなる
バックアップを探したが、きちんとバックアップされていなかった
lolipopのバックアップサービス(320円/月)を注文し、サイトごとバックアップを取得した
PHPのバージョンが低い為に発生しているかもと思い、5.3から7.2にバージョンアップするも変化なし
wordpress4.1.26をdownloadし、自分のサイトに別フォルダー名でアップロード
wordpress4.1.26にアクセスして初期設定実施。データベースはプレフィクスを変更して別データベースにした
サイトは表示されるものの、管理者画面に入ろうとすると真っ白(500エラー 内部エラー発生)
これによりPHP7.2ではwordpress4.1.26は動作しないと判断
lolipopのwordpress作成支援機能で、新規のwordpressサイト(5.2.1)を作成する
こちらは、サイト表示、管理者画面は動作している事を確認した
あとは記事と写真を新しい環境に移せば動作すると考えて下記の通り実施
- phpMyAdminでデータベースにアクセス
- 古いデータベースと、新しいデータベースの違いを確認
- 新しいデータベースは1テーブル増えていた(termmeta)。また、カラム数の異なるテーブルが2個(posts,terms)見つかった
- 古いデータベースを丸ごとSQL形式でエクスポート
- 記事の入っているpostsテーブルから余分なカラムを削除して個別にエクスポートする
- 新データベースのpostsテーブルのデータを削除したうえで、インサート実施
- サイトの表示を確認したところ、記事が表示されていることを確認
- この状態だと写真が表示されないため、wp-content/uploadsフォルダーを新しいフォルダーにコピーした
これで何とか、記事が見れるようになった(^^♪
- データの多いテーブルから順に、テーブル単位でエクスポート&インポート&サイト表示確認を繰り返した
- optionsテーブルは、表示が真っ白になったため、最初にエクスポートしたデータを使ってもとに戻した
- 全テーブルを戻すとどこに落とし穴があるかわからなかったので、記事とコメント、カテゴリーが表示されるようになった時点で戻し作業はストップした
何とか記事が見れるようになったので、外観も真新しくしてみました