J'utilise la version la plus récente de WP-CLI sur mon mac. Je fais tout le développement WordPress dans Vagrant, mais j'aimerais exécuter des commandes WP-CLI sur la machine hôte. J'ai un alias de domaine de "dev.mysite.com" sur l'IP de mon serveur afin qu'il soit accessible via mon navigateur Web via une requête HTTP.
Lorsque j'essaie d'exécuter une commande WP-CLI, le message d'erreur "Erreur lors de l'établissement de la connexion à une base de données" s'affiche car il tente de se connecter via "localhost" alors qu'il devrait s'agir de "dev.mystie.com" ou de l'adresse IP de la machine virtuelle vaginale. . Puis-je accéder à mon site via WP-CLI sans avoir à entrer SSH dans l'invité?
Comme le problème est probablement lié à la configuration de la base de données, vous pouvez essayer de l'ajuster de manière conditionnelle dans wp-config.php
:
if ( defined( 'WP_CLI' ) ) {
define( 'DB_Host', 'example.com' );
}
else {
define( 'DB_Host', 'localhost' );
}
Avez-vous essayé de mettre à jour wp-config.php pour changer l'hôte de la base de données?
Sinon, pourquoi ne pas utiliser command + t dans le terminal pour ouvrir un nouvel onglet, puis vagabonder ssh dans celui-ci et l’utiliser pour WP-CLI?
Vous pouvez jeter un oeil sur wp-cli-ssh
Exécuter de manière transparente les commandes WP-CLI sur un serveur distant via SSH
Je sais que vous ne voulez pas envoyer d'hôte SSH à l'invité, mais cela supprime, supposément, le besoin de le faire manuellement.
J'ai compris comment le configurer.
Suivez ces étapes
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/'
Créez ou éditez config.yml
dans le même dossier et ajoutez:
require:
- vendor/autoload.php
Installez le paquet avec: php composer.phar require x-team/wp-cli-ssh=dev-master
Ensuite, la simple exécution de wp
devrait afficher une liste des sous-commandes disponibles et vous devriez ajouter ssh
à cette liste.
Ensuite, nous configurons le plugin en wp-cli.local.yml
ou wp-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/
Et lancez le tout avec wp ssh plugin status --Host=vagrant
... C'est juste dommage que ce plugin assume Varying-Vagrant-Vagrants. Étant donné que mon environnement vagabond héberge de nombreux sites, Vagrantfile n'est pas dans le répertoire WordPress, ce qui complique tout ...
J'ai pu utiliser @aliases pour déclencher WP-CLI des commandes sur le basic-wordpress-vagrant
box de mon ordinateur hôte. Peut-être que cela pourrait vous aider.
~/.wp-cli/config.yml
@basic:
ssh: basic.dev/var/www/wordpress/
~/.ssh/config
Host basic.dev
HostName basic.dev
User vagrant
IdentityFile ~/sites/basic.dev/.vagrant/machines/default/virtualbox/private_key
$ wp @basic liste de thèmes