Saya mencoba menginstal Drush dengan kedua metode yang tercantum dalam dokumentasi drush.org. Saya pikir mereka mungkin saling bertentangan jika memungkinkan.
Ketika saya menjalankan composer global require drush/drush
semua komponen muncul untuk menginstal dengan benar. Namun ketika saya mengubah ke situs Drupal (Menggunakan XAMPP, / opt / lampp / htdocs / sitefolder) dan menjalankan drush status
saya mendapatkan kesalahan berikut:
PHP Fatal error: Konstanta kelas tak terdefinisi 'MYSQL_ATTR_SSL_CA' di phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php pada baris 56 Perintah Drush diakhiri secara abnormal karena kesalahan yang tidak dapat dipulihkan.
[kesalahan] Kesalahan: Konstanta kelas yang tidak terdefinisi 'MYSQL_ATTR_SSL_CA' di phar: ///usr/local/bin/drush/lib/Drush/Sql/Sqlmysql.php, baris 56
Saya memiliki baris berikut di ~ / .bashrc saya:
export PATH="$HOME/.composer/vendor/bin:$PATH"
Sayangnya saya tidak tahu cara memecahkan masalah dari sini, karena sepertinya tidak ada cara mudah untuk menghapus Drush melalui metode utama ( http://docs.drush.org/en/master/install/ ), yang sepertinya tidak bekerja untuk saya. composer global remove drush/drush
tampaknya berhasil dijalankan.
Terima kasih sebelumnya.
Jawaban:
Dalam kasus saya, tidak semua paket PHP berhasil meskipun Ubuntu ditingkatkan ke 16,04 (yang sekarang menjalankan PHP 7 secara default). Saya perlu menambahkan yang hilang, dan kemudian Drush mulai bekerja lagi:
Atau untuk pengguna php5
pada distribusi Ubuntu / Debian yang terbaru.
Untuk PHP 7.1:
Untuk PHP 7.2:
Anda dapat mencari versi Anda menggunakan ini:
sumber
Turun sedikit lubang kelinci yang satu ini, tapi saya percaya masalah ini terkait dengan drush menghubungkan ke versi mysql yang tepat. Perlu versi XAMPP, bukan versi linux lokal saya. Menambahkan dua baris ini ke ~ / .bashrc membantu:
sumber
memiliki masalah yang sama pada Fedora 25. saya telah mengupgrade ke php 5.6.32 dari 5.60.30 dan mengabaikan switch dalam kompilasi 32.
melakukan php -m menunjukkan bahwa 5.6.32 mengabaikan memiliki modul "pdo_mysql". Jadi saya kembali ke 5.6.30 yang memiliki modul yang dikompilasi, sampai saya dapat men-debug kompilasi 5.6.32.
setelah perubahan ini Drush 8 bekerja dengan baik.
sumber
Pastikan Anda memiliki ekstensi terkini untuk versi PHP Anda. Anda dapat menemukan daftar barang-barang dasar yang harus Anda pasang di komentar di situs dokumentasi PHP di bawah peningkatan ke 7.1.
Mereka merekomendasikan berjalan:
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
Jika tidak, paling tidak Anda akan mengalami masalah dengan mbstring karena ini adalah ketergantungan inti. Ini juga merupakan solusi potensial untuk kesalahan yang terlalu umum "easyrdf / easyrdf 0.9.1 membutuhkan ext-mbstring * -> ekstensi PHP yang diminta mbstring tidak ada di sistem Anda." ketika kita berlari
composer install
untuk pertama kalinya. Untuk versi yang berbeda, cukup aktifkan sesuai kebutuhan. Sebagian besar dari mereka kemungkinan sama.Semoga itu bisa membantu seseorang.
sumber