Ich habe versucht, Drush mit beiden in der drush.org-Dokumentation aufgeführten Methoden zu installieren. Ich denke, sie könnten miteinander in Konflikt stehen, wenn das möglich ist.
Wenn ich laufe, composer global require drush/drush
scheinen alle Komponenten richtig zu installieren. Wenn ich jedoch zu einer Drupal-Site wechsle (unter Verwendung von XAMPP, / opt / lampp / htdocs / sitefolder) und sie ausführe drush status
, wird die folgende Fehlermeldung angezeigt :
Schwerwiegender PHP-Fehler: Nicht definierte Klassenkonstante 'MYSQL_ATTR_SSL_CA' in phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php in Zeile 56 Der Drush-Befehl wurde aufgrund eines nicht behebbaren Fehlers abnormal beendet.
[error] Fehler: Undefinierte Klassenkonstante 'MYSQL_ATTR_SSL_CA' in phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, Zeile 56
Ich habe die folgende Zeile in meinem ~ / .bashrc:
export PATH="$HOME/.composer/vendor/bin:$PATH"
Leider kann ich von hier aus keine Fehlerbehebung durchführen, da es anscheinend keinen einfachen Weg gibt, Drush über die Hauptmethode ( http://docs.drush.org/en/master/install/ ) zu deinstallieren schien nicht für mich zu arbeiten. composer global remove drush/drush
scheint erfolgreich zu laufen.
Danke im Voraus.
Antworten:
In meinem Fall haben es nicht alle PHP-Pakete durch das Ubuntu-Upgrade auf 16.04 geschafft (das jetzt standardmäßig PHP 7 ausführt). Ich musste das fehlende hinzufügen und dann fing Drush wieder an zu arbeiten:
Oder für PHP5-Nutzer
auf den neuesten Ubuntu / Debian-Distributionen.
Für PHP 7.1:
Für PHP 7.2:
So können Sie nach Ihrer Version suchen:
quelle
Ich bin in diesem Fall ein bisschen in ein Kaninchenbau geraten, aber ich glaube, das Problem hing mit der Drush-Verbindung mit der richtigen Version von MySQL zusammen. Es benötigt die XAMPP-Version, nicht meine lokale Linux-Version. Das Hinzufügen dieser beiden Zeilen zu ~ / .bashrc hat geholfen:
quelle
hatte das gleiche problem auf fedora 25. ich hatte von 5.60.30 auf php 5.6.32 upgegradet und einen switch in der compile von 32 vernachlässigt.
Das Ausführen von php -m hat gezeigt, dass 5.6.32 das Modul "pdo_mysql" vernachlässigt hat. Also kehrte ich zu 5.6.30 zurück, in dem dieses Modul kompiliert ist, bis ich die 5.6.32-Kompilierung debuggen kann.
Nach dieser Änderung funktionierte Drush 8 einwandfrei.
quelle
Stellen Sie sicher, dass Sie die aktuellsten Erweiterungen für Ihre PHP-Version haben. Eine Liste der grundlegenden Elemente, die Sie installieren sollten, finden Sie in den Kommentaren auf der PHP-Dokumentationssite unter dem Upgrade auf 7.1.
Sie empfehlen das Laufen:
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
Wenn Sie dies nicht tun, werden Sie zumindest auf Probleme mit mbstring stoßen, da dies eine Kernabhängigkeit ist. Dies ist auch eine mögliche Lösung für den allzu häufigen Fehler "easyrdf / easyrdf 0.9.1 erfordert ext-mbstring * -> die angeforderte PHP-Erweiterung mbstring fehlt in Ihrem System." wenn wir
composer install
zum ersten Mal laufen . Für verschiedene Versionen schalten Sie es einfach entsprechend aus. Die meisten von ihnen sind wahrscheinlich gleich.Hoffe das hilft jemandem.
quelle