Como corrigir Drush 8 PHP7.2 Bug

1

Estou executando o LAMP no Ubuntu 16.04. Eu tenho uma instalação do drupal 7 e eu instalei o drush 8.1.3 através do Composer versão 1.5.2. Eu acredito que há um bug em php7.2 causando o erro como discutido no Github, no entanto, mesmo depois que eu me candidatei a correção recomendada que é atualizar o pear / console_table para a versão mais recente aqui instruída , o problema ainda permanece. Eu também segui as instruções em Super User para ter certeza absoluta de que eu tenho a versão mais atualizada do pear instalado também (não instalou o PHPunit). E, de acordo com a documentação de instalação do drush encontrada aqui , também fiz as alterações adequadas em meu .bashrc file também (abaixo).

Sempre que eu executo drush status , recebo o seguinte erro:

count(): Parameter must be an array or an object that implements     [warning]
Countable Table.php:789
count(): Parameter must be an array or an object that implements     [warning]
Countable Table.php:789
count(): Parameter must be an array or an object that implements     [warning]
Countable Table.php:789
count(): Parameter must be an array or an object that implements     [warning]
Countable Table.php:789
count(): Parameter must be an array or an object that implements     [warning]
Countable Table.php:789
count(): Parameter must be an array or an object that implements     [warning]
Countable Table.php:789
count(): Parameter must be an array or an object that implements     [warning]
Countable Table.php:789
count(): Parameter must be an array or an object that implements     [warning]
Countable Table.php:789
PHP executable         :  /usr/bin/php                                 
PHP configuration      :  /etc/php/7.2/cli/php.ini                     
PHP OS                 :  Linux                                        
Drush script           :  /home/webdevusr/vendor/drush/drush/drush.php 
Drush version          :  8.1.13                                       
Drush temp directory   :  /tmp                                         
Drush configuration    :                                               
Drush alias files      :   

Se eu executar drush sql-connect

Unable to load class Drush\Sql\Sql                                  [error]
Drush\Sql\SqlException: Unable to find a matching SQL Class. Drush   [error]
cannot find your database connection details. in
/home/webdevusr/vendor/drush/drush/commands/sql/sql.drush.inc:541
Stack trace:
#0
/home/webdevusr/vendor/drush/drush/commands/sql/sql.drush.inc(221):
drush_sql_get_class()
#1 /home/webdevusr/vendor/drush/drush/includes/command.inc(422):
drush_sql_connect()
#2 /home/webdevusr/vendor/drush/drush/includes/command.inc(231):
_drush_invoke_hooks(Array, Array)
#3 /home/webdevusr/vendor/drush/drush/includes/command.inc(199):
drush_command()
#4
/home/webdevusr/vendor/drush/drush/lib/Drush/Boot/BaseBoot.php(67):
drush_dispatch(Array)
#5 /home/webdevusr/vendor/drush/drush/includes/preflight.inc(66):
Drush\Boot\BaseBoot->bootstrap_and_dispatch()
#6 /home/webdevusr/vendor/drush/drush/drush.php(12): drush_main()
#7 {main}

O conteúdo do meu arquivo ~/.bashrc é o seguinte:

export PATH="$HOME/.composer/vendor/bin:$PATH"

export PATH=/bin:/usr/local/bin:/usr/local/mysql/bin:$PATH

# Include Drush bash customizations.
if [ -f "/home/webdevusr/.drush/drush.bashrc" ] ; then
source /home/webdevusr/.drush/drush.bashrc
fi

# Include Drush completion.

if [ -f "/home/webdevusr/.drush/drush.complete.sh" ] ; then
source /home/webdevusr/.drush/drush.complete.sh
fi

# Include Drush prompt customizations.

if [ -f "/home/webdevusr/.drush/drush.prompt.sh" ] ; then
source /home/webdevusr/.drush/drush.prompt.sh
fi

O resultado de drush cc all executado dentro da minha pasta de instalação do drupal é:

No Drupal site found, only 'drush' cache was cleared. 

Alguém sabe como drush para o trabalho para o meu local (LAMP) Drupal 7 instalações?

thx

    
por yupthatguy 25.02.2018 / 17:51

1 resposta

1

Você pode editar o arquivo .config / composer / vendor / pear / console_table / Table.php ou procurar esse arquivo primeiro no seu sistema. Abra-o com o seu editor favorito e na linha de edição 789. Silencie assim:

@$this->_max_cols = max($this->_max_cols, count($rowdata));

Você é bom para ir.

    
por 15.08.2018 / 00:35