公開環境のWordPressをローカル環境で再現しようとしたら、データの移行(インポート)でつまずいた話。
前置き
WordPressを使い始めてしばらく経つと、テーマをいじってみたり中のコードをカスタマイズして自分の使いやすく変えてみたり、色々試行錯誤する事があるかと思います。
しかしながら、公開している環境を無闇にいじると見た目が変わって使いづらくなったり、最悪ページが表示されなくなってしまうことも考えられます。
それを回避するためには、ちょっと面倒ですが改修作業はローカル環境で行い、完成したコードを公開環境に反映させる。という流れがオススメです。
そのローカル環境構築でつまずいた時の状況↓
- ローカルサーバーはMAMP(Win)で用意。
- WordPressはインストール済み。
- データの移行はAll-in-One Migrationというプラグインを使用。
※WindowsでMAMPはあまり一般的ではないかも知れませんが、自分はXXAMPがエラーを吐いてどうしても使えなかったのでMAMPを使用しています。
公開環境とPHPやWordPressのVerを合わせたローカル環境を作成し、あとはAll-in-OneプラグインでWordPressのデータを移そうと思ったが、うまくいかず。
つまずいた箇所と対処方法
下記は実際のインポート画面。
スクショは既に対処済みのため128MBだが、つまずいていた時はインポートしたいファイルの容量110MBに対し最大アップロードファイルサイズが64MBだったので、最大アップロードファイルサイズを変更する必要がある。
いろいろ調べてみるとどうやら「php.ini」ファイルで容量を変更できるらしい。
格納場所はMAMP/bin/php/php(Ver)/php.ini
※Verには使用しているphpのバージョンが入ります。
php.iniを開いて下記3箇所の数字を変更してみる。
memory_limit= 500M
post_max_size= 400M
upload_max_filesize= 400M
うまくいったかMAMPを立ち上げ直して確認する。
残念ながら「64MB」から変わらず。。。
クッ、、、64MBって何を想定した容量だよ。
ここで「きっと64MBもどこかで指定しているはずだ。」と思い、MAMP一式をgrepで調べてみる。
※grepは動作が軽いサクラエディタでやってます。
うーん。
MAMP/conf/php(Ver名)/にあるphi.iniが怪しいな。
ということでそっちのiniファイルも同じく変更してみる。
改めてMAMPを再起動すると。。。変わってる!!!
ということで無事に成功しました。
※イメージ画像が128MBなのはその後改めて128MBに容量を落としているためです。
いろいろ試してみたところ、
post_max_sizeがインポート画面に反映される最大ファイルサイズ。
upload_max_filesizeはそれよりも大きい必要があるようでした。
例:post_max_sizeが401Mでupload_max_filesizeが400Mの場合、最大アップロードファイルサイズは400Mになり、post_max_sizeが401Mでupload_max_filesizeが410Mの場合、最大アップロードファイルサイズは401Mになっていた。
memory_limitの影響は分かりませんでした。。。
追記:もう一つインポートが進まない要因がありました。
それはズバリ、テーブル接頭辞が違う!です。DBのテーブルの頭についている「wp_」とかってやつですね。
もし解消されていなければphpMyAdminなどでDBの中身を見てテーブルの接頭辞を確認してみてください。
おまけ:バックアップデータの削除について
All-in-Oneは簡単にバックアップ&復元ができるため、ローカルと公開環境のデータのやり取りで頻繁に使うということもあるかと思います。
ただバックアップデータは都度WordPress内に出力され溜まっていってしまうので、容量の圧迫をされたくない人は定期的な削除が必要です。
削除方法
バックアップデータがある場合はこのような感じで存在を知らせてくれます。
中身はこんな感じ。
定期的に確認し、必要なければ右端の三つの点ボタンから削除してしまいましょう。
まとめ
無事にローカルにWordPressの開発環境が作成できたので良かった。
もしかしたらMAMP(Win)のみでの症状&対処法かもしれませんが、同じような症状で困っている方の救済になれば幸いです。