WP-CLI ne reconnaît pas les mises à jour commerciales des plugins

11

Je rencontre un problème que je n'ai pas rencontré auparavant où WP-CLI ne reconnaît pas les mises à jour des plugins pour les plugins commerciaux.

Les mises à jour du plugin apparaissent dans mon tableau de bord WordPress, mais l'exécution ../wp-cli.phar plugin update --allne les met pas à jour. Si je l'exécute, ../wp-cli.phar plugin listcela ne les montre pas comme ayant des mises à jour.

J'ai exécuté des mises à jour via WP-CLI pour les mêmes plugins commerciaux sur d'autres serveurs sans aucun problème. La seule chose différente sur ce serveur est que je n'ai pas sudoaccès, donc, comme vous pouvez le voir, j'appelle wp-cli.phardirectement au lieu de via la wpcommande.

WP-CLI traite les mises à jour des plugins à partir du référentiel .org sans aucun problème sur cette installation.

NateWr
la source
1
Salut Nate, je ne suis pas en mesure de reproduire cet appel wp-cli.phardirectement avec la version pro de Advanced Custom Fields. Une mise à jour est disponible, et elle apparaît comme disponible dans la sortie de wp-cli. Avec quels plugins essayez-vous cela? Est-il possible qu'ils contournent les routines normales de WP pour cela et ne soient donc pas récupérés par wp-cli?
Tim Malone
Merci pour la réponse Tim. J'ai trouvé au fil des mois que c'est assez sporadique, mais cela a tendance à se produire avec les plugins qui utilisent les licences de logiciel EDD, qui, je crois, utilisent les techniques normales de WP pour les mises à jour. C'est arrivé partout où j'ai utilisé WP-CLI (développeur local, quelques serveurs différents).
NateWr
Hmm. Je devrai vérifier si les plugins commerciaux que j'ai utilisés utilisent également EDD. Avez-vous enregistré un problème avec wp-cli?
Tim Malone
Non, je n'ai pas enregistré de problème parce que c'est tellement sporadique. Je ne peux pas le reproduire de manière fiable (je me suis demandé si c'était un problème avec les transitoires). Mais Daniel a examiné cette question SE et a dit qu'il n'avait pas entendu parler d'un problème et ne pouvait penser à rien qui pourrait le causer.
NateWr du
1
Nate, j'ai rencontré un problème similaire le mois dernier, après quelques heures à me gratter la tête, j'ai constaté que mon problème était directement lié à un problème de résolution DNS sur l'hôte. En fin de compte, l'hôte expirait lors de la résolution du DNS, il n'a donc jamais pu se connecter à la source de la mise à jour pour effectuer la vérification. La nature sporadique de votre problème suggère que vous rencontrez un problème similaire. Je prendrais quelques minutes pour vérifier la résolution DNS et les connexions sortantes de l'hôte.
Steve

Réponses:

1

Ce que vous avez rencontré peut être un problème au niveau du réseau ou une personne a temporairement supprimé les ressources de téléchargement. Par exemple avant la mise à jour.

La plupart des détails que vous pouvez obtenir du code source https://github.com/wp-cli/wp-cli.

La fonction de mise à jour du plugin ressemble à ceci.

function update( $args, $assoc_args ) {
        if ( isset( $assoc_args['version'] ) ) {
            foreach ( $this->fetcher->get_many( $args ) as $plugin ) {
                $assoc_args['force'] = 1;
                $this->install( array( $plugin->name ), $assoc_args );
            }
        } else {
            parent::update_many( $args, $assoc_args );
        }
    }

Et lorsque vous le spécifiez, wp plugin update --allil passe par la parent::update_manyfonction, où le parent est en fait la CommandWithUpgradeclasse.

En résumé, wp-cliutilise les ressources fournies par des plugins comme celui-ci:

# Install from a remote zip file
wp plugin install http://s3.amazonaws.com/bucketname/my-plugin.zip?AWSAccessKeyId=123&Expires=456&Signature=abcdef

Mais là, vous pouvez voir les informations que vous ne devriez pas voir.

Sidenote

Veuillez noter que certains plugins premium ne prennent pas en charge la mise à niveau via WP-CLI. Par exemple, je sais que BackupBuddy et Gravity Forms fonctionnent bien, mais pas les plugins de Yoast. Cela peut changer.

prosti
la source
1

L'utilisateur qui exécute wp-cli a besoin d'autorisations d'écriture sur wp-contentet des sous-répertoires - si seuls certains plugins échouent, les répertoires de ces plugins sont peut-être en lecture seule pour cet utilisateur.

Il y a un bogue dans wp cli qui ne signalera pas les autorisations de fichiers manquantes et signale plutôt que le plugin est déjà mis à jour.

Les symptômes décrits s'appliquent à cette situation, ce sera donc une solution pour certains.

Andy
la source