WP-CLI no reconoce las actualizaciones de complementos comerciales

11

Me encuentro con un problema que no había encontrado antes, donde WP-CLI no reconoce las actualizaciones de complementos para complementos comerciales.

Las actualizaciones de complementos aparecen en mi panel de WordPress, pero la ejecución ../wp-cli.phar plugin update --allno las actualiza. Si lo ejecuto ../wp-cli.phar plugin list, no muestra que tengan actualizaciones.

Ejecuté actualizaciones a través de WP-CLI para los mismos complementos comerciales en otros servidores sin ningún problema. Lo único diferente en este servidor es que no tengo sudoacceso, así que, como puede ver, estoy llamando wp-cli.phardirectamente en lugar de a través del wpcomando.

WP-CLI está procesando actualizaciones de complementos desde el repositorio .org sin ningún problema en esta instalación.

NateWr
fuente
1
Hola Nate, no puedo replicar esta llamada wp-cli.phardirectamente con la versión pro de Advanced Custom Fields. Hay una actualización disponible, y se muestra como disponible en la salida de wp-cli. ¿Con qué complementos estás intentando esto? ¿Es posible que estén pasando por alto las rutinas normales de WP para esto y, por lo tanto, no sean recogidos por wp-cli?
Tim Malone
Gracias por la respuesta Tim. A lo largo de los meses, descubrí que es bastante esporádico, pero tiende a suceder con complementos que usan las licencias de software de EDD, que creo que usan las técnicas normales de WP para las actualizaciones. Ha sucedido en todas partes donde he usado WP-CLI (desarrollo local, algunos servidores diferentes).
NateWr
Hmm Tendré que verificar si los complementos comerciales que tengo también usan EDD. ¿Has registrado un problema con wp-cli?
Tim Malone
No, no he registrado un problema porque es muy esporádico. No puedo reproducirlo de manera confiable (me he preguntado si es un problema con los transitorios). Pero Daniel ha examinado esta pregunta SE y dijo que no había oído hablar de un problema y que no podía pensar en nada que lo causara.
NateWr
1
Nate Me encontré con un problema similar solo el mes pasado, después de algunas horas rascándome la cabeza descubrí que mi problema estaba directamente relacionado con un problema de resolución de DNS en el host. Finalmente, el host estaba agotando el tiempo de espera al resolver DNS, por lo que nunca pudo conectarse a la fuente de la actualización para realizar la verificación. La naturaleza esporádica de su problema sugeriría que tiene un problema similar. Me tomaría unos minutos verificar la resolución DNS y las conexiones salientes del host.
Steve

Respuestas:

1

Lo que experimentó puede ser un problema de nivel de red o alguien que eliminó temporalmente los recursos de descarga. Por ejemplo antes de la actualización.

La mayoría de los detalles que puede obtener del código fuente https://github.com/wp-cli/wp-cli.

La función de actualización del complemento allí se ve así.

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

Y cuando lo especifica, wp plugin update --allen realidad pasa por la parent::update_manyfunción, donde el padre es en realidad CommandWithUpgradeclase.

En pocas palabras, wp-cliutiliza recursos proporcionados por complementos 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

Pero allí puede ver la información que no debería ver.

Nota al margen

Tenga en cuenta que algunos complementos premium no admiten la actualización a través de WP-CLI. Por ejemplo, sé que BackupBuddy y Gravity Forms funcionan bien, pero los complementos de Yoast no. Esto puede cambiar

prosti
fuente
1

El usuario que ejecuta wp-cli necesita permisos de escritura wp-contenty subdirectorios: si solo algunos complementos fallan, tal vez los directorios de estos complementos sean de solo lectura para ese usuario.

Hay un error en wp cli que no informará la falta de permisos de archivos y, en cambio, informa que el complemento ya está actualizado.

Los síntomas descritos se aplican a esa situación, por lo tanto, esta será una solución para algunos.

Andy
fuente