Setelah banyak cobaan dan kesengsaraan, saya pikir saya sudah siap untuk mengaum semua. Banyak kegembiraan. Tapi kemudian, tidak ada sukacita ...
Drush bekerja. Situs beroperasi dengan baik melalui MAMP. Apapun, perintah "drush cc all" kembali:
No Drupal site found, only 'drush' cache was cleared. [warning]
'all' cache was cleared. [success]
Pertanyaan ini telah membingungkan peserta drupalcon dan pengembang yang sangat berpengalaman. Ada ide?
Saya menggunakan Mac OS 10.9.3 menggunakan MAMP (gratis) Versi 3.0.5
Ini status pemandian saya:
Drupal version : 7.29-dev
Site URI : http://default
Database driver : mysql
Database hostname : localhost
Database username : db_user
Database name : db_name
PHP executable : /usr/bin/php
PHP configuration :
PHP OS : Darwin
Drush version : 7.0-dev
Drush temp directory : /tmp
Drush configuration :
Drush alias files :
Drupal root : /Applications/MAMP/htdocs/mysite.dev
Site path : sites/default
Telah mencoba menjalankan drush from /Applications/MAMP/htdocs/mysite.dev
; dari /Applications/MAMP/htdocs/mysite.dev/sites/default
; dan menggunakandrush cc all --uri=http://localhost/mysite.dev
Mencoba menjalankan drush dari situs / default. Hasil yang sama
Jawaban:
Harap periksa kembali bahwa semua poin di bawah ini ditangani.
drush
di folder root Drupal atau folder yang berisisettings.php
file.The
mysql
perintah ada (dan itu di AndaPATH
).Harap dicatat bahwa perintah basis data tergantung pada basis data yang Anda
driver
atur dalam file pengaturan Anda (misalnyasqlcmd
untuk SQL Server; untuk perincian, periksa kelas yang berbeda di Drush's/src/Sql
).Jika perintah tidak ada saat menjalankan di folder apa pun, pastikan path ke file binernya ditambahkan ke dalam
PATH
variabel sistem Anda .PHP Anda memiliki ekstensi PDO yang diaktifkan (centang oleh:
php -m | grep pdo
ataudrush sqlc
).mysqli
) (Centang olehphp -m | grep mysql
:).Untuk menyelidiki apa yang sebenarnya salah, jalankan
drush
dengan flag-v
(verbose) dan-d
(debug), misdan periksa apakah ada kesalahan.
Instal ekstensi basis data (mis.
mysqli
) (Sesuai poin 4 di atas).Untuk MAMP, lihat: Drush tidak berfungsi di Mac saya
MAMP
Karena Anda menggunakan MAMP, pastikan juga Anda menjalankan versi
php
biner yang tepat (centang olehwhich php
) dan itu harus mengarah ke/Applications/MAMP/bin/php/php5.X.X/bin/php
. Jika tidak, tambahkan jalur ke file rcPATH
Anda (mis. ):~/.bashrc
XAMPP
Untuk XAMPP untuk Windows, hal serupa, tambahkan Anda
C:\xampp\mysql\bin
ke variabel lingkungan AndaPATH
.Debugging
Jika
drush
perintah Anda gagal karena beberapa alasan, berikut adalah langkah-langkah yang disarankan untuk men-debug drush (perintah shell).xdebug
. Verifikasi olehphp71 -i | grep xdebug
.drush status
.Hasilkan file jejak:
atau:
Jika xdebug diaktifkan untuk versi PHP yang berbeda, tentukan dengan
DRUSH_PHP=/path/to/php
.Jika berhasil, lacak file output yang akan dicetak di bagian akhir, jadi catatlah.
Sekarang buka dan periksa file jejaknya.
Untuk menguji atau membandingkan output drush dengan Drupal bersih, Anda dapat menginstal Drupal baru di folder kosong dengan:
sumber
drush sqlc
membantu saya karena menunjukkan bahwa basis data tidak dapat terhubung dengan pengguna, yang mengarahkan saya untuk memeriksa pengguna dan kata sandi dan mengungkapkan bahwa saya salah mengaturnya. Terima kasih!~/.my.cnf
file yang menentukan pengguna untuk koneksi mysql tetapi bukan kata sandi. Saya pikir ini mengakibatkan drush menggunakan pengguna dari file itu dengan kata sandi dari situs, yang tidak valid. Menambahkan kata sandi ke~/.my.cnf
file saya , atau menghapus file itu sepenuhnya memperbaiki masalahPunya masalah yang sama dengan Drush 8 baru di Mac saya menjalankan MAMP
Anda perlu menambahkan ini ke .bash_profile export PATH = / Applications / MAMP / Library / bin /: $ PATH Anda.
sekali ditambahkan pastikan untuk membuka jendela terminal baru karena itu tidak akan berfungsi pada jendela Anda saat ini karena bash perlu memulai lagi.
sumber
Seperti kata @kenorb, gunakan
drush -vd cc all
, itu akan memberi Anda ide yang baik tentang apa yang terjadi secara detail. Dalam kasus saya, itu karena kesalahan"mysql command not found"
. Saya menyelesaikannya dengan mengatur jalur untuk mysql dalam variabel lingkungan saya. Saya merasa Anda perlu memeriksa jalan Anda juga, untuk Drush dan MySQL keduanya dan lihat apakah itu berfungsi.Terima kasih!!
sumber
Untuk menghapus Semua Cache menggunakan Drush, Anda harus pergi direktori situs di terminal di mana direktori situs Anda berada seperti di www atau direktori htdocs dan kemudian folder proyek Anda setelah itu jalankan perintah:
sumber
Periksa paket Drush configure.md, ia memiliki banyak petunjuk bermanfaat untuk platform, dengan demikian bagian MAMP:
sumber
Menjalankan MAMP Pro Saya dapat ini berfungsi dengan menambahkan baris ini ke
~/.bash_profile
file saya :sumber