どうも友蔵です。
先日、WordPressで作った稼働中のサイトをテスト環境にコピーしたかったのですが、
プログラマーの方ならSSHコマンドでカンタンに出来るのでしょうが、私はデザイナー。
黒い画面から逃げて来ました。暗黒面恐怖症です。ダークサイドには堕ちません。

なので、デザイナーでも出来るphpmyadminを使ったコピーの仕方を、つまずいた点なども含めて紹介していきます!

今回はxamppを使ってやります。
※つまずいた時はレンタルサーバーを使ったのですが今回はxamppを使って再現します。
xampp起動!!!Apache、MySQLスタート!
スカイプを起動しているとApacheと80番ポートがバッティングするので、スカイプは終了させましょう。


phpmyadminを開き、コピーしたいDBを選択し、エクスポート。SQLファイルを生成します。



次にコピー先のDBを選択し、先程エクスポートしたSQLファイルを参照から選択して実行ボタンを押しインポートします。
※固定ページや投稿などで、画像やリンクをフルパスで書いていた場合は、テキストエディタ等でSQLファイルのドメイン部分をコピー先のものに一括で置換してください。



そうしたらインポート完了画面が出。。。。。。
出ない!!!!!
ログイン画面に飛ばされました。




どうやらSQLファイルの容量が多かったようです。ちゃんと最大の容量が書いてありますね。



対処法としてはphp.iniファイルを編集し容量の上限を変更する方法と、phpMyAdminのインストールディレクトリにSQLファイルを追加する方法があります。
詳しくはこちら

ただこの2つのやり方でも容量が大きすぎて、使用していたレンタルサーバーではタイムアウトになってしまいました。。。



なので今回はBigDumpを紹介。
Bigdumpは大容量のSQLファイルをインポートしてくれるフリーのphpになります。
まずはこちらからダウンロードします。

ダウンロードしたファイルの41行目にインポート先のDB情報を記載します。
$db_server = ”; //サーバ名
$db_name = ”; //DB名
$db_username = ”; //ユーザ名
$db_password = ”; //パスワード



そうしたらコピーしたいサイトのディレクトリにbigdumpディレクトリを作成し、bigdump.phpとSQLファイルをアップします。
xamppだとこんな感じです。
C:\xampp\htdocs\wordpress_copy\bigdump
そしてブラウザからbigdump.phpにアクセスします。


こんな画面がでるのでインポートをスタートしたら、インポート完了です!



次はインポートしたDBの「wp_options」テーブルを開きます。
そしてoption_nameの「siteurl」と「home」のoption_valueをコピーしたサイトのURLに書き換えます。これを書き換えることで、Wordpress上で吐き出している画像のパスやリンクのURLが本番を読みに行かなくなります。
※インポート前にSQLファイルのドメイン部分を置換していた場合は不要です。



最後にWordPressの設定に移ります。
コピー元のWordPressファイル一式をコピー先のディレクトリに設置します。
そしてwp-config.phpの29行目あたりのDB情報をコピー先のDBのものに差し替えます。



これにて完了になります!ブラウザからコピーしたURLを見るとサイトが表示されるはずです。


SSHを使えばカンタンに終わるよ。ってのは受け付けません!!!
では!!

この記事を書いた人

友蔵
友蔵
野球大好きWebデザイナー。会社から貰えるチケット欲しさに入社したと言っても過言ではないです…。毎年ドラフト会議の日は指名されないかドキドキしています。