J'ai essayé d'installer Drush avec les deux méthodes répertoriées dans la documentation drush.org. Je pense qu'ils pourraient être en conflit les uns avec les autres si c'est possible.
Lorsque j'exécute, composer global require drush/drush
tous les composants semblent s'installer correctement. Cependant, lorsque je passe à un site Drupal (en utilisant XAMPP, / opt / lampp / htdocs / sitefolder) et que j'exécute, drush status
j'obtiens l'erreur suivante:
Erreur fatale PHP: constante de classe non définie 'MYSQL_ATTR_SSL_CA' dans phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php sur la ligne 56 La commande Drush s'est terminée anormalement en raison d'une erreur irrécupérable.
[erreur] Erreur: constante de classe non définie 'MYSQL_ATTR_SSL_CA' dans phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, ligne 56
J'ai la ligne suivante dans mon ~ / .bashrc:
export PATH="$HOME/.composer/vendor/bin:$PATH"
Malheureusement, je ne sais pas comment dépanner à partir d'ici, car il ne semble pas être un moyen facile de désinstaller Drush via la méthode principale ( http://docs.drush.org/en/master/install/ ), qui ne semblait pas fonctionner pour moi. composer global remove drush/drush
semble fonctionner correctement.
Merci d'avance.
Réponses:
Dans mon cas, tous les packages PHP n'ont pas réussi à passer par la mise à niveau d'Ubuntu vers 16.04 (qui exécute désormais PHP 7 par défaut). J'avais besoin d'ajouter celui qui manquait, puis Drush a recommencé à travailler:
Ou pour les utilisateurs de php5
sur les distributions Ubuntu / Debian très récentes.
Pour PHP 7.1:
Pour PHP 7.2:
Vous pouvez rechercher votre version en utilisant ceci:
la source
Je suis descendu un peu dans un trou de lapin sur celui-ci, mais je pense que le problème était lié à une connexion drush à la bonne version de mysql. Il a besoin de la version XAMPP, pas de ma version linux locale. L'ajout de ces deux lignes à ~ / .bashrc a aidé:
la source
eu le même problème sur Fedora 25. j'avais mis à niveau vers php 5.6.32 de 5,60,30 et négligé un commutateur dans la compilation de 32.
faire php -m a montré que 5.6.32 négligeait d'avoir le module "pdo_mysql". Je suis donc revenu à 5.6.30 qui a ce module compilé, jusqu'à ce que je puisse déboguer la compilation 5.6.32.
après ce changement, Drush 8 a très bien fonctionné.
la source
Assurez-vous que vous disposez des extensions les plus à jour pour votre version de PHP. Vous pouvez trouver une liste des éléments de base que vous devez installer dans les commentaires sur le site de documentation PHP sous la mise à niveau vers 7.1.
Ils recommandent d'exécuter:
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
Si vous ne le faites pas, vous rencontrerez au moins des problèmes avec mbstring car il s'agit d'une dépendance de base. C'est également une solution potentielle pour l'erreur trop courante "easyrdf / easyrdf 0.9.1 nécessite ext-mbstring * -> l'extension PHP demandée mbstring est manquante sur votre système." quand nous courons
composer install
pour la première fois. Pour les différentes versions, il suffit de le désactiver selon les besoins. La plupart d'entre eux sont probablement les mêmes.J'espère que cela aide quelqu'un.
la source