Se actualizó Ubuntu a 16.04, ahora las actualizaciones de Wordpress no funcionan

Se actualizó Ubuntu a 16.04, ahora las actualizaciones de Wordpress no funcionan

Tenía mi sistema Ubuntu 15.10 funcionando bien y las actualizaciones de Wordpress se realizaron a través de ssh. Pero cuando actualicé Ubuntu a 16.04, el cambio a php7.0 interrumpió las actualizaciones de Wordpress. Al principio me solicitaba credenciales de inicio de sesión FTP hasta que instalé php-ssh2 (que advierte que se basa en una instantánea de git). Ahora, cuando intento actualizar un complemento, dice

An error occurred while updating WP to Twitter: Unable to locate WordPress Content directory (wp-content).

Y en /var/log/apache2/error.log:

[Sun Jun 12 11:01:10.969931 2016] [:error] [pid 5545] [client 192.168.1.11:65278] PHP Warning:  file_put_contents(): Unable to open ssh2.sftp://Resource id #81/.maintenance on remote host in /home/blog/wordpress/wp-admin/includes/class-wp-filesystem-ssh2.php on line 252, referer: http://xxxx.com/wp-admin/update-core.php?action=do-plugin-upgrade
[Sun Jun 12 11:01:10.970772 2016] [:error] [pid 5545] [client 192.168.1.11:65278] PHP Warning:  file_put_contents(ssh2.sftp://Resource id #81/.maintenance): failed to open stream: operation failed in /home/blog/wordpress/wp-admin/includes/class-wp-filesystem-ssh2.php on line 252, referer: http://xxxx.com/wp-admin/update-core.php?action=do-plugin-upgrade

¿Me falta un paquete, un elemento de configuración o qué?

Respuesta1

Yo tuve el mismo problema. Esto parece ser un error en php-ssh2 (del repositorio de Ubuntu).

Después de eliminar php-ssh2 e instalar una versión más nueva con pecl (pecl install ssh2-1.0), el problema se resolvió.

Envié un informe de error: https://bugs.launchpad.net/ubuntu/+source/php-ssh2/+bug/1617294

Respuesta2

La instalación de la extensión pecl no funcionó para mí (quién sabe por qué) pero encontré una alternativa:

Acabo de subir este complemento a través de scp a mi VPS y resolvió el problema:https://wordpress.org/plugins/ssh-sftp-updater-support/

Respuesta3

En mi caso nada de lo anterior funcionó, sin embargo,un parche de ralphmen el código PHP solucionó el problema de actualización a través de ssh2 para WordPress tanto en Ubuntu 14.04 como en Ubuntu 16.04:

--- a/wp-admin/includes/class-wp-filesystem-ssh2.php
+++ b/wp-admin/includes/class-wp-filesystem-ssh2.php
@@ -185,7 +185,7 @@
        if ( '/' === $path ) {
            $path = '/./';
        }
-       return 'ssh2.sftp://' . $this->sftp_link . '/' . ltrim( $path, '/' );
+       return 'ssh2.sftp://' . intval($this->sftp_link) . '/' . ltrim( $path, '/' );
    }

    /**

No olvide volver a aplicar este parche después de la actualización hasta que llegue una solución final a la versión de WordPress.

Respuesta4

En mi caso, solo ayudó la instalación de la versión 1.1.2 lib...
pecl install ssh2-1.1.2

  • PHP 7.0.22-0ubuntu0.16.04.1
  • Apache/2.4.18

información relacionada