由于流浪汉,WP-CLI无法连接到数据库

时间:2014-04-05 作者:Zach Russell

我正在mac上运行最新版本的WP-CLI。我在Vagrant中进行所有WordPress开发,但希望在主机上运行WP-CLI命令。我有一个从“dev.mysite.com”到服务器IP的域别名,因此可以通过HTTP请求通过web浏览器访问它。

当尝试运行WP-CLI命令时,我收到一个“建立数据库连接时出错”错误消息,因为它试图通过“localhost”进行连接,而实际上应该是“dev.mystie.com”或Vagrant VM的IP地址。是否有任何方法可以通过WP-CLI访问我的站点,而不必通过SSH访问来宾?

4 个回复
SO网友:Rarst

由于问题可能是DB配置,您可以尝试在wp-config.php:

if ( defined( \'WP_CLI\' ) ) {
    define( \'DB_HOST\', \'example.com\' );
}
else {
    define( \'DB_HOST\', \'localhost\' );
}

SO网友:sanchothefat

您是否尝试过更新wp config。php更改数据库主机?

或者,为什么不在终端中使用command+t打开一个新选项卡,然后在其中使用vagrant ssh并将其用于WP-CLI?

SO网友:Oskar

你可以看看wp-cli-ssh

通过SSH在远程服务器上无缝运行WP-CLI命令

我知道您不想使用SSH连接到guest,但这至少可以消除手动操作的需要。

我知道怎么设置了。

跟随these steps

mkdir -p ~/.wp-cli
cd ~/.wp-cli
touch composer.json
php composer.phar init --stability dev --no-interaction
php composer.phar config bin-dir bin
php composer.phar config vendor-dir vendor
php composer.phar config repositories.wp-cli composer \'http://wp-cli.org/package-index/\'
创建或编辑config.yml在同一文件夹中添加:

require:
  - vendor/autoload.php
使用以下内容安装软件包:php composer.phar require x-team/wp-cli-ssh=dev-master

然后就跑wp 应显示可用子命令的列表,并且ssh 添加到该列表中。

然后在中配置插件wp-cli.local.ymlwp-cli.yml:

ssh:
  vagrant:
    # The %pseudotty% placeholder gets replaced with -t or -T depending on whether you\'re piping output
    # The %cmd% placeholder is replaced with the originally-invoked WP-CLI command
    cmd: vagrant ssh-config > /tmp/vagrant_ssh_config && ssh -q %pseudotty% -F /tmp/vagrant_ssh_config default %cmd%
    # Passed to WP-CLI on the remote server via --url
    url: local-www.yourawesomewebsite.com
    # We cd to this path on the remote server before running WP-CLI
    path: /your/vvv/path/
并用wp ssh plugin status --host=vagrant

。。。糟糕的是,这个插件假设了不同的流浪者。因为我的vagrant环境托管了很多站点,所以Vagrantfile不在WordPress目录中,破坏了整个环境。。。

SO网友:jgraup

我已经能够利用@aliases 触发WP-CLI 上的命令basic-wordpress-vagrant 我的主机上的框。也许这可以帮助你。

~/。wp cli/配置。yml公司

@basic:
    ssh: basic.dev/var/www/wordpress/
~/。ssh/配置

Host basic.dev
    HostName basic.dev
    User vagrant
    IdentityFile ~/sites/basic.dev/.vagrant/machines/default/virtualbox/private_key
$wp@基本主题列表

结束