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系に落とす必要(手間)がなくなりました。ありがたいかぎりです。

 一覧ページへもどる