Drush yüklü ve çalışan; Uri belirtilmiş olsa bile Drupal sitesi bulunamadı


9

Çok fazla yargılama ve sıkıntıdan sonra, kükremeye hazır olduğumu düşündüm. Çok heyecan. Ama sonra sevinç yok ...

Drush çalışıyor. Sahalar MAMP aracılığıyla iyi çalışmaktadır. Ne olursa olsun, "drush cc all" komutu şunu döndürür:

No Drupal site found, only 'drush' cache was cleared.                                          [warning]
'all' cache was cleared.                                                                       [success]

Bu soru, drupalcon katılımcılarını ve çok deneyimli geliştiricileri zorladı. Herhangi bir fikir?

MAMP (ücretsiz) Sürüm 3.0.5 kullanarak Mac OS 10.9.3 kullanıyorum

İşte benim sarhoş durumum:

 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    

Drush yürütmeyi denedim /Applications/MAMP/htdocs/mysite.dev; den /Applications/MAMP/htdocs/mysite.dev/sites/default; ve kullanarakdrush cc all --uri=http://localhost/mysite.dev

Sitelerden drush çalıştırmayı denedi / varsayılan. Aynı sonuç.


veritabanı bağlantınız siteler / varsayılan klasörde mi? Eğer öyleyse sadece o klasörden drush cc çalıştırmayı deneyin. Sanmıyorum --uri drush cc için geçerli bir argüman
chadpeppers

Sitelerden drush çalıştırmayı denedi / varsayılan. Aynı sonuç.
jenpasch

Bunun için bir çözüm buldunuz mu? Ben aynı sorunu ve benzer kurulum var.
Deejay

Yapmadım. Hala sessizim.
jenpasch

Buna baktın mı? Üstten benzer görünüyor: drupal.stackexchange.com/questions/98802/…
Laryn - CEDC.org

Yanıtlar:


9

Lütfen aşağıdaki tüm noktaların ele alındığını tekrar kontrol edin.

  1. drushDrupal kök klasöründe veya dosya içeren klasörde çalışıyorsunuz settings.php.
  2. mysqlKomut var (ve Gözlerinde farklı olduğunu PATH).

    Lütfen veritabanı komutunun driverayarlar dosyanızda ayarladığınız veritabanınıza bağlı olduğunu unutmayın (örn sqlcmd. SQL Server için; ayrıntılar için Drush'ın farklı sınıflarını kontrol edin /src/Sql).

    Herhangi bir klasörde çalışırken komut eksikse, ikili PATHdeğişkenine giden yolun sistem değişkeninize eklendiğinden emin olun .

  3. PHP'nizin sahiptir PDO uzantısı (: çek olarak etkindir php -m | grep pdoveya drush sqlc).

  4. PHP'nizde veritabanı uzantısı etkin (örneğin mysqli) (kontrol:) php -m | grep mysql.

Neyin yanlış olduğunu araştırmak drushiçin -v(ayrıntılı) ve -d(hata ayıklama) bayraklarıyla çalıştırın, ör.

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

ve hata olup olmadığını kontrol edin.


PHP PDO için mysql uzantısı kurulu değil. Nasıl etkinleştirebileceğinizi görmek için php.ini'nizi kontrol edin.

Veritabanı uzantısını yükleyin (örn. mysqli) (Yukarıdaki 4. noktaya göre).

MAMP için, bkz. Drush Mac bilgisayarımda çalışmıyor


MAMP

MAMP kullandığınızdan, ayrıca phpikili ( doğru kontrol which php) sürümünü çalıştırdığınızdan emin olun ve işaret etmelidir /Applications/MAMP/bin/php/php5.X.X/bin/php. Değilse, içine yolunu ekleyin PATHsizin de rc (örn dosyaları ~/.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

Windows için XAMPP için benzer bir şey, C:\xampp\mysql\binortam değişkeninize ekleyin PATH.

Hata ayıklama

Senin Eğer drushkomut herhangi bir nedenle başarısız, burada ayıklama drush için önerilen adımlar aşağıda belirtilmiştir (komutları kabuk).

  1. PHP xdebuguzantısını yükleyin ve etkinleştirin . Tarafından doğrulayın php71 -i | grep xdebug.
  2. Drupal kökünün , Ayarlar Dosyasının ve Veritabanının bulunduğunu doğrulayın drush status.
  3. İzleme dosyası oluştur:

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

    veya:

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

    Xdebug farklı PHP sürümü için etkinleştirilmişse ile belirtin DRUSH_PHP=/path/to/php.

    Başarılı olursa, izleme çıktı dosyası sonunda yazdırılmalıdır, bu yüzden not edin.

  4. Şimdi izleme dosyasını açın ve kontrol edin.

  5. Drush çıktısını temiz Drupal ile test etmek veya karşılaştırmak için boş klasöre yeni Drupal'ı şu şekilde yükleyebilirsiniz:

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

2
Açık kontrol ayarlarının ötesine geçen +1 gerçekten güzel bir cevap.php ve db. Özellikle benim drush sqlciçin veritabanının kullanıcıyla bağlanamadığını gösterdiğinden bana yardımcı oldu, bu da kullanıcı ve şifreyi kontrol etmemi sağladı ve yanlış ayarladığımı ortaya çıkardı. Teşekkür ederim!
therobyouknow

1
@ Therobyouknow için benzer bir sorun vardı - ~/.my.cnfmysql bağlantıları için kullanıcı belirtilen ancak bir şifre değil bir dosya vardı . Bu geçersiz siteden şifre ile bu dosyadan kullanıcı kullanarak drush sonuçlandı düşünüyorum. ~/.my.cnf
Dosyama

4

MAMP çalıştıran Mac'imdeki yeni Drush 8 ile aynı sorunu yaşadım

Bunu .bash_profile export PATH = / Applications / MAMP / Library / bin /: $ PATH klasörünüze eklemeniz gerekir.

eklendikten sonra yeni bir terminal penceresi açtığınızdan emin olun çünkü mevcut pencerenizde çalışmaz, çünkü bash yeniden başlatılmalıdır.


1
Bu bir ıskarta hattı benim için onu düzeltti. Saçlarımı bunun üzerine çekiyordum. Bash için GÜNCELLEME / DEĞİŞİKLİK YAPTIĞINIZDA YENİ BİR TERMİNAL PENCERE AÇIN! Aksi takdirde yeni ayarlarınız etkili olmaz.
erier

1

@Kenorb'un dediği gibi, kullanın drush -vd cc all, ayrıntılı olarak neler olduğu hakkında size iyi bir fikir verecektir. Benim durumumda, hatadan kaynaklanıyordu "mysql command not found". Ortam değişkenlerimdeki mysql yolunu ayarlayarak çözdüm. Hem Drush hem de MySQL için de yolunuzu kontrol etmeniz ve çalışıp çalışmadığını görmeniz gerektiğini hissediyorum.

Teşekkürler!!


1

Drush kullanarak Tüm Önbelleği temizlemek için, sitenin dizininde www veya htdocs dizininde olduğu gibi site dizininizin bulunduğu sitenin dizinine ve daha sonra komutu çalıştırdıktan sonra proje klasörünüze gitmeniz gerekir:

drush cc all

0

Drush paket configure.md çıkış, platformlar için bir sürü yararlı ipuçları vardır, MAMP bölümü böylece:

Mamp için Ek Konfigürasyonlar:

MAMP kullanıcılarının, PATH'lerinde komut satırı arayüzünde hangi php ve MySQL sürümünün kullanılacağını manuel olarak belirtmeleri gerekir. Bu, MAMP uygulama ayarlarında seçilen php sürümünden bağımsızdır. OS X altında, ana klasörünüzde .bash_profile adlı bir dosyayı düzenleyin (veya yoksa oluşturun).

Php 5.3.x kullanmak için, bu satırı .bash_profile dosyasına ekleyin:

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

Eğer php 5.4.x kullanmak istiyorsanız, bu satırı ekleyin:

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

MAMP 3 (varsayılan olarak php 5.5.14) kullanıyorsanız ve php 5.5.x kullanmak istiyorsanız, bunun yerine şu satırı ekleyin:

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

MAMP v.1.84 veya daha düşük bir sürümüne sahipseniz, bu yapılandırma PHP'nin her iki sürümü için de çalışır:

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

Bunu yaptıysanız ve PDO :: __ construct'tan hala "böyle bir dosya veya dizin yok" hatası alıyorsanız, şunu deneyin:

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

Ayrıca, drush'ı başarıyla kullanabilmeniz için php.ini ayarlarınızı değiştirmeniz gerekebilir. Nasıl devam edeceğiniz hakkında daha fazla bilgi için aşağıdaki PHP.INI YAPILANDIRMASI'na bakın.


0

MAMP Pro Koşu Bu satırı benim ~/.bash_profiledosyaya ekleyerek çalışmak için var :

export PATH=$PATH:/Applications/MAMP/Library/bin
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.