Tentei instalar o Drush com os dois métodos listados na documentação do drush.org. Eu acho que eles podem estar em conflito um com o outro, se isso for possível.
Quando executo, composer global require drush/drush
todos os componentes parecem instalar corretamente. No entanto, quando mudo para um site Drupal (usando XAMPP, / opt / lampp / htdocs / sitefolder) e executo drush status
, recebo o seguinte erro:
Erro fatal do PHP: constante de classe indefinida 'MYSQL_ATTR_SSL_CA' em phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php na linha 56 O comando Drush foi finalizado de forma anormal devido a um erro irrecuperável.
[erro] Erro: constante de classe indefinida 'MYSQL_ATTR_SSL_CA' em phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, linha 56
Eu tenho a seguinte linha no meu ~ / .bashrc:
export PATH="$HOME/.composer/vendor/bin:$PATH"
Infelizmente, não sei como solucionar problemas daqui, pois não parece ser uma maneira fácil de desinstalar o Drush pelo método principal ( http://docs.drush.org/en/master/install/ ), que não parecia funcionar para mim. composer global remove drush/drush
parece funcionar com sucesso.
Desde já, obrigado.
Respostas:
No meu caso, nem todos os pacotes PHP chegaram ao upgrade do Ubuntu para 16.04 (que agora roda o PHP 7 por padrão). Eu precisava adicionar o que faltava e o Drush começou a trabalhar novamente:
Ou para usuários php5
em distribuições muito recentes do Ubuntu / Debian.
Para o PHP 7.1:
Para o PHP 7.2:
Você pode procurar sua versão usando este:
fonte
Fiz um pouco de uma toca de coelho nesta, mas acredito que o problema estava relacionado ao drush conectado à versão adequada do mysql. Ele precisa da versão XAMPP, não da minha versão linux local. A adição dessas duas linhas ao ~ / .bashrc ajudou:
fonte
tinha o mesmo problema no Fedora 25. Eu havia atualizado para o php 5.6.32 de 5,60,30 e negligenciei uma opção na compilação de 32.
fazer php -m mostrou que 5.6.32 não tinha o módulo "pdo_mysql". Então, voltei para a 5.6.30, que possui esse módulo compilado, até que eu possa depurar a compilação 5.6.32.
após essa mudança, o Drush 8 funcionou bem.
fonte
Verifique se você possui as extensões mais atualizadas para sua versão do PHP. Você pode encontrar uma lista dos itens básicos que você deve instalar nos comentários no site de documentação do PHP, sob a atualização para 7.1.
Eles recomendam a execução:
sudo apt-get install php7.1 php7.1-cli php7.1-common libapache2-mod-php7.1 php7.1-mysql php7.1-fpm php7.1-curl php7.1-gd php7.1-bz2 php7.1-mcrypt php7.1-json php7.1-tidy php7.1-mbstring php-redis php-memcached
Caso contrário, você terá pelo menos problemas com o mbstring, pois essa é uma dependência essencial. Esta também é uma solução potencial para o erro muito comum "easyrdf / easyrdf 0.9.1 requer ext-mbstring * -> a extensão PHP solicitada mbstring está ausente no seu sistema." quando corremos
composer install
pela primeira vez. Para versões diferentes, basta trocá-lo conforme apropriado. A maioria deles provavelmente é a mesma.Espero que ajude alguém.
fonte