Atualizou o Ubuntu para 16.04, agora as atualizações do Wordpress não funcionam

5

Eu tive meu sistema Ubuntu 15.10 funcionando bem, e as atualizações do Wordpress aconteceram no ssh. Mas quando eu atualizei o Ubuntu para 16.04, a mudança para php7.0 quebrou as atualizações do Wordpress. No começo ele estava solicitando credenciais de login FTP até que eu instalei o php-ssh2 (que avisa que ele é baseado em um snapshot git). Agora, quando tento atualizar um plugin, ele diz

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

E em /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

Estou perdendo um pacote, um item de configuração ou o quê?

    
por Paul Tomblin 12.06.2016 / 17:19

4 respostas

8

Eu tive o mesmo problema. Isso parece ser um bug no php-ssh2 (do repositório do Ubuntu).

Depois de remover o php-ssh2 e instalar uma nova versão com o pecl (pecl install ssh2-1.0), o problema foi resolvido.

Eu enviei um relatório de bug: link

    
por Rick 26.08.2016 / 15:25
1

Instalar a extensão pecl não funcionou para mim (Quem sabe por quê), mas eu encontrei uma alternativa:

Acabei de enviar este plug-in via scp para o meu VPS e ele resolveu o problema: link

    
por Snowball 26.01.2017 / 02:27
1

No meu caso, nenhum dos itens acima funcionou, no entanto, um patch do ralphm no código PHP corrigiu o update-via-ssh2-problem para WordPress no Ubuntu 14.04 e no Ubuntu 16.04 para mim:

--- 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, '/' );
    }

    /**

Não se esqueça de reaplicar este patch após a atualização até que uma correção final chegue à versão do WordPress.

    
por anneb 03.11.2017 / 10:57
0

No meu caso, instalar a versão 1.1.2 lib ajudou ...
pecl install ssh2-1.1.2

  • PHP 7.0.22-0ubuntu0.16.04.1
  • Apache / 2.4.18
O
por Eugene 16.08.2017 / 13:25