Drush terpasang dan berjalan; Tidak ada situs Drupal yang ditemukan bahkan dengan uri yang ditentukan


9

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


Apakah koneksi basis data Anda terletak di situs / folder default? Jika demikian coba jalankan cc drush dari folder itu. Saya tidak berpikir --uri adalah argumen yang valid untuk drush cc
chadpeppers

Mencoba menjalankan drush dari situs / default. Hasil yang sama
jenpasch

Apakah Anda menemukan resolusi untuk ini. Saya memiliki masalah yang sama dan pengaturan serupa.
Deejay

Aku tidak. Saya masih kurang mabuk.
jenpasch

Sudahkah Anda melihat yang ini? Itu terlihat mirip dari atas: drupal.stackexchange.com/questions/98802/…
Laryn - CEDC.org

Jawaban:


9

Harap periksa kembali bahwa semua poin di bawah ini ditangani.

  1. Anda menjalankan drushdi folder root Drupal atau folder yang berisi settings.phpfile.
  2. The mysqlperintah ada (dan itu di Anda PATH).

    Harap dicatat bahwa perintah basis data tergantung pada basis data yang Anda driveratur dalam file pengaturan Anda (misalnya sqlcmduntuk 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 PATHvariabel sistem Anda .

  3. PHP Anda memiliki ekstensi PDO yang diaktifkan (centang oleh: php -m | grep pdoatau drush sqlc).

  4. PHP Anda memiliki ekstensi basis data yang diaktifkan (mis. mysqli) (Centang oleh php -m | grep mysql:).

Untuk menyelidiki apa yang sebenarnya salah, jalankan drushdengan flag -v(verbose) dan -d(debug), mis

drush -vd status
drush -vd ev "echo 123"
drush -vd cc all

dan periksa apakah ada kesalahan.


ekstensi mysql untuk PHP PDO tidak diinstal. Periksa php.ini Anda untuk melihat bagaimana Anda dapat mengaktifkannya.

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 phpbiner yang tepat (centang oleh which 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

# For MAMP (OSX)
PHP_VER="5.6.10" # Or: 5.4.19/5.5.3 (check by: $ ls /Applications/MAMP/bin/php/php*)
export PATH="$PATH:/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php$PHP_VER/bin:/Developer/usr/bin"

XAMPP

Untuk XAMPP untuk Windows, hal serupa, tambahkan Anda C:\xampp\mysql\binke variabel lingkungan Anda PATH.

Debugging

Jika drushperintah Anda gagal karena beberapa alasan, berikut adalah langkah-langkah yang disarankan untuk men-debug drush (perintah shell).

  1. Instal dan aktifkan ekstensi PHPxdebug . Verifikasi oleh php71 -i | grep xdebug.
  2. Verifikasi akar Drupal , File Pengaturan , dan Database ada di drush status.
  3. Hasilkan file jejak:

    drush ev "xdebug_start_trace(); drush_drupal_cache_clear_all(); echo xdebug_get_tracefile_name(); xdebug_stop_trace();"

    atau:

    drush ev "xdebug_start_trace(); print_r(_core_site_status_table()); echo xdebug_get_tracefile_name(); xdebug_stop_trace();"

    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.

  4. Sekarang buka dan periksa file jejaknya.

  5. Untuk menguji atau membandingkan output drush dengan Drupal bersih, Anda dapat menginstal Drupal baru di folder kosong dengan:

    drush -y qd --no-server --core=drupal-8
    cd quick-drupal-*/drupal*
    drush status
    

2
+1 jawaban yang sangat bagus, melampaui pengaturan check.php dan db. Khususnya bagi saya drush sqlcmembantu 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!
therobyouknow

1
Saya memiliki masalah yang mirip dengan @therobyouknow - Saya punya ~/.my.cnffile 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.cnffile saya , atau menghapus file itu sepenuhnya memperbaiki masalah
artfulrobot

4

Punya 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.


1
Baris sekali pakai ini adalah apa yang diperbaiki untuk saya. Saya mencabut rambut saya yang satu ini. BUKA JENDELA TERMINAL BARU KETIKA ANDA MEMBUAT PEMBARUAN / PERUBAHAN untuk dihancurkan! Kalau tidak, pengaturan baru Anda tidak akan terpengaruh.
erier

1

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!!


1

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:

drush cc all

0

Periksa paket Drush configure.md, ia memiliki banyak petunjuk bermanfaat untuk platform, dengan demikian bagian MAMP:

Konfigurasi Tambahan untuk Mamp:

Pengguna MAMP perlu menentukan secara manual dalam PATH mereka versi php dan MySQL yang akan digunakan dalam antarmuka baris perintah. Ini tidak tergantung pada versi php yang dipilih dalam pengaturan aplikasi MAMP. Di bawah OS X, edit (atau buat jika belum ada) file bernama .bash_profile di folder rumah Anda.

Untuk menggunakan php 5.3.x, tambahkan baris ini ke .bash_profile:

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.3/bin:$PATH"

Jika Anda ingin menggunakan php 5.4.x, tambahkan baris ini sebagai gantinya:

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5.4/bin:$PATH"

Jika Anda menggunakan MAMP 3 (php 5.5.14 secara default) dan ingin menggunakan php 5.5.x, tambahkan baris ini sebagai gantinya:

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php/php5.5.14/bin:$PATH"

Jika Anda memiliki MAMP v.1.84 atau lebih rendah, konfigurasi ini akan berfungsi untuk kedua versi PHP:

export PATH="/Applications/MAMP/Library/bin:/Applications/MAMP/bin/php5/bin:$PATH"

Jika Anda telah melakukan ini dan masih mendapatkan kesalahan "tidak ada file atau direktori" dari PDO :: __ construct, coba ini:

bash sudo mkdir /var/mysql sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /var/mysql/mysql.sock

Selain itu, Anda mungkin perlu menyesuaikan pengaturan php.ini Anda sebelum berhasil menggunakan drush. Lihat MENGONFIGURASI PHP.INI di bawah ini untuk perincian lebih lanjut tentang cara melanjutkan.


0

Menjalankan MAMP Pro Saya dapat ini berfungsi dengan menambahkan baris ini ke ~/.bash_profilefile saya :

export PATH=$PATH:/Applications/MAMP/Library/bin
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.