2020年6月へ

WordPress本番環境のDBをローカルの開発環境に移す際のメモ

公開日:

最終更新日:

開発

AI要約

本番環境のWordPressデータベースをローカル開発環境に移行する際、URLの置換が必要である。本記事では便利なツール「Search Replace DB」を使い、ドメイン名やhttpsをhttpに一括置換する方法を解説する。さらに旧バージョンの問題や最新版の利点も紹介し、効率的な移行手順をまとめている。

  • WordPress
  • データベース移行
  • 開発環境
  • Search Replace DB
  • MySQLDump
  • PHP
  • URL置換
  • 本番環境
  • ローカル環境
  • バージョン互換性

Search Replace DB

本番環境のDBのエクスポートについては,MySQLDumpコマンドでDBごとエクスポートします。

それを,ローカルでインポートするわけですが,WordPressでは,DBのカラムの値に本番環境のURLが入っている箇所が多くあるため,インポートしただけでは,ローカルで動かすことができません。

単純に1つ1つ置換するのも,SQLコマンド打つのも面倒(* 分からない)ので,「Search Replace DB」というプログラムを使います。

参考:【WordPress】DBの置換には「Search Replace DB」を使おう

いろいろ,WEB記事を見ていると,本来は,ローカルで開発したものを,本番環境にあげて,全置換することに使われることが多いようですが,今回はその逆になります。

Database Search and Replace Script in PHP(公式サイト)

現在の最新版は 4.1.1 のようです。
(ページの下の方を辿れば,v.3 系や,v.2 系も公開しているようです。)

公式サイトにアクセスすると,メールアドレスや名前を入力するフォームがあるので,それらを送信すると,ダウンロードリンクの書かれたメールが送られます。

ダウンロードファイルは,プロジェクトフォルダにコピーします。
Git を使っている場合は,.gitignore

Search-Replace-DB-4.1.1/
Search-Replace-DB-master/
search-replace22/

を無視するように追加しといた方が良い(楽)かもしれません。
(「Search-Replace-DB-master」は V.3 系,「search-replace22」は V.2 系です。)

ちなみに,v.3系にアクセスすると,

Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?

なるエラーが出ます。PHP7.3 以降から出るらしいです。

参考:PHP7.3からbreakの代わりにcontinueを使うとWarningになる。

使い方については,先のページ(【WordPress】DBの置換には「Search Replace DB」を使おう)と同じです。

これで,
1)ドメイン名の置換(本番環境のドメインをローカルの開発環境へ)
2)https を http に置換(本番環境が https の場合)
を行います。

以上,本番環境のWordPressDBをローカルの開発環境へ移動することのまとめです。

ちなみに,前回の記事で,必死にphp5系を入れようとしていましたが,それは,「Search-Replace-DB」のv.3系で,ローカル開発環境のDBにアクセスできなかったためです。

v.3系では,確か,MySQL8へ接続するプログラムでなかったことが原因だった気がします。そのあたりもv.4系になって改善されたのでしょう。これで,PHPのバージョンを5系に落とす必要(手間)がなくなりました。ありがたいかぎりです。

©Hiroshi Nagayama