ローカルのxamppやmampでWordPressのサイトを作って、サーバーにアップし構築していますがサーバーのデータが増えるにつけ、データもローカルで見て色々いじってみたくなってきました。
今まで何度かやったのですが、いつもひっかかるポイントがあるので手順を書き出しました。
1.サイトで使っているdbのダンプを取る
使っているサーバーによって色々ありますので、やり方が分からない場合は
データベースコピー 使っているサーバー名
とか サーバーにphpmyadminが入ってる場合は
データベースコピー phpmyadmin
とかで検索してみてください。私の場合はsshでダンプしてきました。ダンプしたファイルをローカルに ryus_wpblog0306.dump という名前で保存しました。
2.ローカルで使っているdbにインポートする
既にローカルのサイトでdbが作られている場合はtebleを削除します。
xamppでの例はこんな感じです。
削除が終わったら、インポートタブをクリックして、先ほどダンプしたファイルを指定します。
実行する をクリックするとインポートされます。この状態でローカルのサイトを見ると、左ブロックのリンクは表示されていますがメインコンテンツが見つかりません、となっています。
これはurlがサーバーのままなのでこのようになってしまっています。
3.dbの中身のurlをローカルのものに置き換える
私の場合は、
サーバーのサイトのurl https://usortblog.com/
を
ローカルのサイトのurl http://localhost/ryuswp
に置き換えます。以下のコードをphpmyadminのsqlタブで実行します。
UPDATE `usortwp_options` SET option_value = REPLACE (option_value, "https://usortblog.com/", "http://localhost/ryuswp"); UPDATE `usortwp_postmeta` SET meta_value = REPLACE (meta_value, "https://usortblog.com/", "http://localhost/ryuswp"); UPDATE `usortwp_posts` SET post_content = REPLACE (post_content, "https://usortblog.com/", "http://localhost/ryuswp"); UPDATE `usortwp_posts` SET guid = REPLACE (guid, "https://usortblog.com/", "http://localhost/ryuswp");
もし、コピペして行う場合は、
usortwp_
https://usortblog.com/
http://localhost/ryuswp
を適宜置き換えてください。
実行する、をクリックするとdbの中身が書き換えられます。以下の様な表示となります。
4.uploadsの中にあるファイルをダウンロードする
今時点ではまだ画像が見えません。画像ファイルが必要なので持って来ます。
FTPなどでサーバーに接続して
wp-content\uploads
にあるファイルをローカルの同じ場所にダウンロードします。
これで画像も見えるようになりました。
再現できなかったおかしなこと
大体これでサーバーと同じデータがローカルで見えるはずなのですが、スラッグを使ったリンクが「not found」になったことがありました。そのときに対処としてやったのは
ダッシュボード>設定>パーマリンク
で何も変更せずに「変更を保存」をクリックした、ということです。
ただし、再現性がないためにこの行為で上手く行ったのかどうかが実証できていません(^_^;。
まぁ、そんなことがあったら試しにやってみるのもいいかなと思います。
この方法では完璧ではありません!
この方法はあくまでも「サーバーと同じようなデータをローカルに置いて、色々試す」のが目的でやっています。ローカルでデータをどんどん追加してサーバーにアップする、というような使い方には適していません。
このサイトを参照させていただいたのですが、
WordPressでサーバ移行時にデータベース上のドメインを書き換える方法
ここにあるようにWordPressのデータにあるurlなどはシリアライズされているものもあるらしいのです。
phpmyadminのsqlでのupdateだけでは不十分ということなのですが、ローカルでは表示確認程度であればこれだけでもいいかなと思います。
ちゃんとデータをテスト環境やローカルから本番に反映させたい!ということでしたら上記のサイトに詳しい方法が書いてありましたのでそちらを参照されるといいかと思います。
コメント