WP-CLI não reconhece atualizações de plug-in comerciais

11

Estou com um problema que não encontrei antes, em que o WP-CLI não reconhece atualizações de plug-ins para plug-ins comerciais.

As atualizações do plug-in aparecem no meu painel do WordPress, mas a execução ../wp-cli.phar plugin update --allnão as atualiza. Se eu executar ../wp-cli.phar plugin list, não os mostrará como tendo atualizações.

Executei atualizações através do WP-CLI para os mesmos plugins comerciais em outros servidores sem nenhum problema. A única coisa diferente nesse servidor é que eu não tenho sudoacesso; portanto, como você pode ver, estou ligando wp-cli.phardiretamente em vez de usar o wpcomando

O WP-CLI está processando atualizações de plug-ins do repositório .org sem problemas nesta instalação.

NateWr
fonte
1
Olá Nate, não consigo replicar essa chamada wp-cli.phardiretamente com a versão pro dos campos personalizados avançados. Uma atualização está disponível e é mostrada como disponível na saída do wp-cli. Com quais plugins você está tentando isso? É possível que eles estejam ignorando as rotinas normais do WP para isso e, portanto, não sejam apanhados pelo wp-cli?
Tim Malone
Obrigado pela resposta Tim. Descobri ao longo dos meses que é bastante esporádico, mas tende a acontecer com plugins que usam o Licenciamento de Software da EDD, que acredito usar as técnicas normais de atualização do WP. Já aconteceu em todos os lugares em que usei o WP-CLI (desenvolvedor local, alguns servidores diferentes).
NateWr 01/07
Hmm. Vou ter que verificar se os plugins comerciais que eu tenho também usam o EDD. Você já registrou um problema com o wp-cli?
Tim Malone
Não, não registrei um problema porque é esporádico. Não consigo reproduzi-lo com segurança (perguntei-me se é um problema com transientes). Mas Daniel analisou esta questão da SE e disse que não tinha ouvido falar de um problema e não conseguia pensar em nada que pudesse causar isso.
NateWr
1
Nate Só me deparei com um problema semelhante no mês passado, depois de algumas horas coçando a cabeça, descobri que meu problema estava diretamente relacionado a um problema do resolvedor de DNS no host. Por fim, o host estava atingindo o tempo limite ao resolver o DNS, para que nunca pudesse se conectar à fonte da atualização para executar a verificação. A natureza esporádica do seu problema sugere que você está tendo um problema semelhante. Levaria alguns minutos para verificar a resolução do DNS e as conexões de saída do host.
Steve Steve

Respostas:

1

O que você experimentou pode ser algum problema no nível da rede ou alguém removeu temporariamente os recursos de download. Por exemplo, antes da atualização.

A maioria dos detalhes que você pode obter do código fonte https://github.com/wp-cli/wp-cli.

A função de atualização de plug-in aparece assim.

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 );
        }
    }

E quando você especifica, wp plugin update --allele realmente passa pela parent::update_manyfunção, onde o pai é realmente CommandWithUpgradeclasse.

Bottomline, wp-cliusa recursos fornecidos por plugins como este:

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

Mas lá você pode ver as informações que não deve ver.

Nota

Observe que alguns plugins premium não suportam a atualização via WP-CLI. Por exemplo, eu sei que o BackupBuddy e o Gravity Forms funcionam bem, mas os plugins do Yoast não. Isso pode mudar.

prosti
fonte
1

O usuário que executa o wp-cli precisa de permissões de gravação wp-contente subdiretórios - se apenas alguns plugins falharem, talvez os diretórios desses plugins sejam somente leitura para esse usuário.

Há um erro no wp cli que não informa as permissões de arquivo ausentes e, em vez disso, informa que o plugin já está atualizado.

Os sintomas descritos se aplicam a essa situação, portanto, isso será uma solução para alguns.

Andy
fonte