Próbowałem zainstalować Drush przy użyciu obu metod wymienionych w dokumentacji drush.org. Myślę, że mogą być ze sobą w konflikcie, jeśli to możliwe.
Po uruchomieniu composer global require drush/drush
wszystkie komponenty wydają się instalować poprawnie. Jednak po przejściu na witrynę Drupal (za pomocą XAMPP, / opt / lampp / htdocs / sitefolder) i uruchamianiu pojawia drush status
się następujący błąd:
Błąd krytyczny PHP: Niezdefiniowana stała klasy „MYSQL_ATTR_SSL_CA” w phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php on line 56 Komenda Drush zakończyła się nieprawidłowo z powodu niemożliwego do naprawienia błędu.
[błąd] Błąd: niezdefiniowana stała klasy „MYSQL_ATTR_SSL_CA” w phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, wiersz 56
Mam następujący wiersz w moim ~ / .bashrc:
export PATH="$HOME/.composer/vendor/bin:$PATH"
Niestety nie wiem, jak rozwiązać problem z tego miejsca, ponieważ wydaje się, że nie ma łatwego sposobu na odinstalowanie Drusha za pomocą głównej metody ( http://docs.drush.org/en/master/install/ ), która chyba nie działało dla mnie. composer global remove drush/drush
wydaje się działać poprawnie.
Z góry dziękuję.
Odpowiedzi:
W moim przypadku nie wszystkie pakiety PHP przeszły przez aktualizację Ubuntu do wersji 16.04 (która teraz domyślnie uruchamia PHP 7). Musiałem dodać brakujący, a potem Drush znów zaczął działać:
Lub dla użytkowników php5
na bardzo ostatnich dystrybucjach Ubuntu / Debian.
Dla PHP 7.1:
Dla PHP 7.2:
Możesz wyszukać swoją wersję za pomocą:
źródło
Poszedłem trochę do króliczej dziury na tym, ale myślę, że problem związany był z drush łączeniem z odpowiednią wersją mysql. Potrzebuje wersji XAMPP, a nie mojej lokalnej wersji Linux. Dodanie tych dwóch wierszy do ~ / .bashrc pomogło:
źródło
miałem ten sam problem na Fedorze 25. zaktualizowałem php 5.6.32 z 5,60 30 i zaniedbałem przełącznik w kompilacji 32.
wykonanie php -m pokazało, że 5.6.32 zaniedbało mieć moduł „pdo_mysql”. Wróciłem do wersji 5.6.30, w której ten moduł jest wkompilowany, dopóki nie zdołałem debugować kompilacji 5.6.32.
po tej zmianie Drush 8 działał dobrze.
źródło
Upewnij się, że masz najbardziej aktualne rozszerzenia dla swojej wersji PHP. Możesz znaleźć listę podstawowych elementów, które powinieneś zainstalować w komentarzach na stronie dokumentacji PHP pod uaktualnieniem do 7.1.
Zalecają uruchomienie:
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
Jeśli tego nie zrobisz, będziesz mieć co najmniej problemy z mbstring, ponieważ jest to podstawowa zależność. Jest to również potencjalne rozwiązanie dla zbyt powszechnego błędu „easyrdf / easyrdf 0.9.1 wymaga ext-mbstring * -> w systemie brakuje żądanego rozszerzenia mbstring PHP.” kiedy biegniemy
composer install
po raz pierwszy. W przypadku różnych wersji wystarczy go odpowiednio wyłączyć. Większość z nich jest prawdopodobnie taka sama.Mam nadzieję, że komuś pomoże.
źródło