Linux Drush yükleme hatası: phar'da tanımlanmamış sınıf sabiti 'MYSQL_ATTR_SSL_CA': ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, satır 56


11

Drush'u drush.org belgelerinde listelenen her iki yöntemle de yüklemeyi denedim. Mümkünse birbirleriyle çatışıyor olabilirler.

Çalıştığımda composer global require drush/drushtüm bileşenler doğru şekilde takılmış görünüyor. Ancak bir Drupal sitesine (XAMPP, / opt / lampp / htdocs / sitefolder kullanarak) geçip çalıştırdığımda drush statusaşağıdaki hatayı alıyorum:

PHP Ölümcül hata: 56 numaralı satırda tanımlanmamış sınıf sabiti 'MYSQL_ATTR_SSL_CA': ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php 56. satırdaki Drush komutu kurtarılamaz bir hata nedeniyle sonlandırıldı.
[hata] Hata: Phar'da tanımlanmamış sınıf sabiti 'MYSQL_ATTR_SSL_CA': ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, satır 56

~ / .Bashrc dosyamda şu satır var:

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

Maalesef buradan nasıl sorun giderileceğini bilmiyorum, çünkü Drush'u ana yöntemle ( http://docs.drush.org/en/master/install/ ) kullanarak kaldırmanın kolay bir yolu yok gibi görünüyor. benim için işe yaramadı. composer global remove drush/drushbaşarıyla çalışıyor gibi görünüyor.

Şimdiden teşekkürler.


Komik, dün benzer bir iş parçacığı yayınladı ve kullanıcılardan biri bana bir hata söyledikten sonra sildi.
JohnDoea

Ben Drush github hata olarak rapor ettim. WSL mi kullanıyorsunuz? WSL'de bana oldu ama Ubuntu'da değil.
JohnDoea

Yanıtlar:


20

Benim durumumda, tüm PHP paketleri Ubuntu 16.04'e yükseltti (şimdi varsayılan olarak PHP 7'yi çalıştırıyor). Eksik olanı eklemem gerekiyordu ve sonra Drush tekrar çalışmaya başladı:

sudo apt install php-mysql

Veya php5 kullanıcıları için

sudo apt install php5-mysql 

çok yeni Ubuntu / Debian dağılımları.

PHP 7.1 için:

sudo apt install php7.1-mysql

PHP 7.2 için:

sudo apt install php7.2-mysql

Bunu kullanarak sürümünüzü arayabilirsiniz:

apt-cache search php-mysql

1

Bu bir tavşan deliği biraz aşağı gitti, ama mysql uygun sürümüne bağlanma drush ile ilgili olduğuna inanıyorum. Yerel linux sürümüme değil, XAMPP sürümüne ihtiyaç duyuyor. Bu iki satırı ~ / .bashrc öğesine eklemek yardımcı oldu:

export DRUSH_PHP=/opt/lampp/bin/php

export PATH=$PATH:/opt/lampp/bin

0

Fedora 25 aynı sorunu vardı. 5,60,30 php 5.6.32 yükseltme ve 32 derleme bir anahtar ihmal.

php -m yapmak 5.6.32 modülünün "pdo_mysql" ye sahip olmayı ihmal ettiğini gösterdi. Bu yüzden 5.6.32 derlemesinde hata ayıklama yapana kadar bu modülün derlendiği 5.6.30'a geri döndüm.

Bu değişiklikten sonra Drush 8 gayet iyi çalıştı.


0

PHP sürümünüz için en güncel uzantılara sahip olduğunuzdan emin olun. Yüklemeniz gereken temel öğelerin bir listesini, 7.1'e yükseltme altındaki PHP dokümantasyon sitesindeki yorumlarda bulabilirsiniz .

Çalıştırmanızı tavsiye ediyorlar: 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

Bunu yapmazsanız, en azından mbstring ile ilgili sorunlara gireceksiniz çünkü bu temel bir bağımlılıktır. Bu aynı zamanda "easyrdf / easyrdf 0.9.1 ext-mbstring * -> istenen PHP uzantısı mbstring sisteminizde eksik" hatası için potansiyel bir çözümdür. Biz çalıştırdığınızda composer installilk kez. Farklı sürümler için uygun şekilde kapatın. Çoğu muhtemelen aynı.

Umarım birine yardım eder.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.