ローカルに移行失敗!!!

しましたが、なんとか小一時間、いや小三時間ぐらい試行錯誤をしながらようやくできたので、その躓いたところをせっかくなので備忘録として残しておきます。

WordPressをサーバーからローカルに移行する。

サーバーのWordpressをローカルに移行する流れを簡単に説明します。詳しくは適当にググってね。

①サーバー側のphpmyadminからデータをエクスポート

エクスポート→SQLチェック

オプション – 構造 – ROP TABLE / VIEW /PROCEDURE / FUNCTION / EVENT コマンドを追加するにチェック

ファイル名に保存する→zip形式

実行する。

②FTPでWordpressのデータをダウンロード

wp-adminやwp-content、index.php、wp-settings.php・・・などのWordpressデータをまるごと全部FTPソフトを使ってダウンロードします。

③wp-config.phpをローカル用に書き換える。

/** WordPress のためのデータベース名 */
define(‘DB_NAME’, ‘●●●●●-●●●●●’);
/** MySQL データベースのユーザー名 */
define(‘DB_USER’, ‘●●●●●’);
/** MySQL データベースのパスワード */
define(‘DB_PASSWORD’, ‘●●●●●’);
/** MySQL のホスト名 */
define(‘DB_HOST’, ‘●●●●●’);

上記をローカルに合わせてテキストエディタで書き換えます。

④ローカル(Xampp・MAMP)にデータベースの作成

ローカルのphpMyAdminに入ってデータベース(移行先)を作成します。

【重要】ダウンロードしたsqlファイルを書き換える。

ここで失敗し続けました。

①でエクスポートしたsqlファイルを書き換えるには、直接CotEditorなどのテキストエディタで書き換える方法と、Search and Replace for WordPress Databases Scriptというスクリプトを使う方法がありますが、どちらにもこの失敗はあり得ます。

多くのブログでサーバーからローカルへの移行、その逆のローカルからサーバーへの移行を解説していますが、この書き換えの時、

「sample.net/」(サーバーURL) → 「localhost/sample/」(ローカルURL)

このような表記または、

「http://sample.net/」(サーバーURL) → 「http://localhost/sample/」(ローカルURL)

このような表記になっています。しかし、この最後の「/」が実は曲者です。

「/」ありで変更する。

splファイルを書き換える 置換処理

※ドメイン名のところは削除しているため空白になっています。

「/」ありで、検索と置換で一括で変更すると3377箇所が修正されました。

splファイルを書き換える 置換処理

さらに「/」なしで変更してみると。

splファイルを書き換える 置換処理

「/」なしで、再度検索をかけるとまさかの189件もの変更箇所が見つかりました!!そうなんです。

「/」ありだと失敗します!!

これが本当に気づかずに、何度も設定を変えてエクポートしたり、いろいろ試していましたが、問題はここでした。

あと一応「http://」の部分も置換には不要です。

これに気づくまで何度やってもローカルで記事が見つかりませんになり、リンクは元のドメインにつながっているため、WEBサイトの方に飛んでしまう。管理画面に入ろうにもWEB上の管理画面へ飛ばされる・・・、Search and Replace for WordPress Databases Script設定を何度も見直したり、全く見当違いなことをしていたりと中々つまずきましたが、これでよーーーやくローカルでリンクがつながるようになりました。

めでたしめでたし。