ローカル環境をVCCWで立ち上げるとWordmoveもインストールされていますので、サーバーとローカルのデータの同期がとても楽ですね。
WordmoveはSSHとFTPのどちらも対応していて、今回はFTPで接続する必要がありました。
ルート直下へのWordPress設置ではなく、サブディレクトリ(/wordpress/)への設置をしましたので、Movefileの設定は次のようにしていました。
local: vhost: "http://test.local" wordpress_path: "/var/www/wordpress/wordpress" staging: vhost: "http://test.com" wordpress_path: "/public_html/wordpress" # use an absolute path here
これでwordmove push -dをするとエラーでリモートのデータベースに反映されません。
▬▬ ✓ Pushing Database ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ remote | write /test.com/wordpress/wp-content/dump.php local | download http://test.com/wp-content/dump.php?shared_key=73b11018f2b6797ce265b36d8983489bfc4194ea3e5c114be5b4e39314cef4f03e6646edbbf7a092 > /var/www/wordpress/wordpress/wp-content/remote-backup-1450333959.sql /usr/local/rbenv/versions/2.1.2/lib/ruby/2.1.0/open-uri.rb:353:in `open_http': 404 Not Found (OpenURI::HTTPError)
ぐぐると、Wordmoveのバージョンを1.2.0にダウングレードして対応するということがあったのですが、VCCWでインストールされているものは1.2.0でしたので、関係はなさそうです。
FTP 経由の wordmove pull で、DB が反映されないバグを解決する方法
エラーをよく見ていると、サブディレクトリが抜けているのがわかります。これですね。ディレクトリがないので404なんですね。
local | download http://test.com/wp-content/dump.php...
仕様なのかバグなのか分からないですが、サブディレクトリはうまくいかないようなので、Movefileのvhostにサブディレクトリを追加してみます。
local: vhost: "http://test.local/wordpress" wordpress_path: "/var/www/wordpress/wordpress" staging: vhost: "http://test.com/wordpress" wordpress_path: "/public_html/wordpress" # use an absolute path here
localの方は変えなくても大丈夫かもしれませんが、一応両方合わせておきます。
これでもう一度wordmove push -dでリモートのデータベースも反映されました。
たぶんwp_optionのhomeとかも変わってしまいますが、wp-config.phpに次の設定をしておけば大丈夫なはずです。
便利ですWordmove。
define( 'WP_HOME', 'http://test.com' ); define( 'WP_SITEURL', 'http://test.com/wordpress' );