J'ai installé ce paquet sur WP-CLI. Lorsque je lance wp login create
dans bash cela fonctionne correctement, mais lorsque j’exécute exec("wp login create")
dans PHP script WP-CLI renvoie cette erreur:
Erreur: 'login' n'est pas une commande wp enregistrée. Voir 'aide wp' pour les commandes disponibles.
Voulez-vous dire 'plugin'?
J'ai vérifié l'utilisateur de exec("whoami")
et c'est la même chose. Comment puis-je trouver le problème?
EDIT
quand je lance wp package list
dans PHP, il retourne:
Erreur: le répertoire du compositeur '/.wp-cli/packages' pour les packages n'a pas pu être créé: mkdir (): autorisation refusée
Selon Alain Schlesser in wordpress slack:
Le dossier dans lequel les packages sont installés est défini pour utiliser le dossier de base de l'utilisateur de votre serveur. Cependant, lorsque vous essayez d'exécuter cette commande à partir de PHP, elle est exécutée par l'utilisateur du serveur Web, qui a probablement un dossier personnel différent, et le paquet n'y est pas installé.
Vous pouvez charger le package manuellement en tant que partie du système (le nécessitant dans la pile Composer du site, par exemple) ou définir le dossier du package sur un emplacement partagé par votre utilisateur et votre serveur Web (puis le réinstaller par la suite).
Vous pouvez définir le dossier des packages avec la variable d’environnement WP_CLI_PACKAGES_DIR
: https://make.wordpress.org/cli/handbook/config/#environment-variables