Drush स्थापित और चल रहा है; कोई भी Drupal साइट नहीं मिली है जो कि uri के साथ भी निर्दिष्ट है


9

बहुत परीक्षण और क्लेश के बाद, मैंने सोचा कि मैं सभी गर्जना के लिए तैयार था। बहुत उत्साह। लेकिन फिर, कोई खुशी नहीं ...

Drush काम कर रहा है। साइट्स MAMP के माध्यम से ठीक काम करती हैं। भले ही, एक "ड्रुक सीसी सभी" कमांड रिटर्न:

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

इस सवाल ने ड्रुपाल्कन उपस्थितों और बहुत अनुभवी डेवलपर्स को रोक दिया है। कोई विचार?

मैं MAMP (मुक्त) संस्करण 3.0.5 का उपयोग करके मैक ओएस 10.9.3 पर हूं

यहाँ मेरी शराबी स्थिति है:

 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    

से ड्रम को निष्पादित करने की कोशिश की है /Applications/MAMP/htdocs/mysite.dev; से /Applications/MAMP/htdocs/mysite.dev/sites/default; और का उपयोग करdrush cc all --uri=http://localhost/mysite.dev

साइट्स / डिफॉल्ट से चल रहा है। एक ही परिणाम।


क्या आपका डेटाबेस कनेक्शन साइटों / डिफ़ॉल्ट फ़ोल्डर में स्थित है? यदि ऐसा है तो बस उस फ़ोल्डर से ड्रुक cc चलाने का प्रयास करें। मुझे नहीं लगता कि
ड्रयू

साइट्स / डिफॉल्ट से चल रहा है। एक ही परिणाम।
जेनपश

क्या आपको इसके लिए कोई संकल्प मिला। मेरे पास एक ही मुद्दा और समान सेटअप है।
देहजय

मैंने नहीं। मैं अभी भी नशे में हूं।
जेनपश

क्या आपने इस पर ध्यान दिया है? यह ऊपर से समान दिखता है: drupal.stackexchange.com/questions/98802/…
Laryn - CEDC.org

जवाबों:


9

कृपया जाँच लें कि नीचे सभी बिंदुओं पर ध्यान दिया गया है।

  1. आप drushDrupal रूट फ़ोल्डर या फ़ोल्डर युक्त settings.phpफ़ाइल में चल रहे हैं ।
  2. mysqlआदेश मौजूद है (और यह अपने में है PATH)।

    कृपया ध्यान दें कि डेटाबेस कमांड driverआपकी सेटिंग फ़ाइल में सेट किए गए डेटाबेस पर निर्भर करती है (उदाहरण के sqlcmdलिए SQL सर्वर के लिए; विवरण के लिए Drush में अलग-अलग कक्षाओं की जाँच करें /src/Sql)।

    यदि किसी भी फ़ोल्डर में चलते समय कमांड गायब है, तो सुनिश्चित करें कि इसकी बाइनरी फ़ाइल का पथ आपके PATHसिस्टम चर में जोड़ा गया है ।

  3. आपके PHP में PDO एक्सटेंशन सक्षम है (द्वारा चेक करें: php -m | grep pdoया drush sqlc)।

  4. आपके PHP में डेटाबेस एक्सटेंशन सक्षम है (जैसे mysqli) (द्वारा चेक करें php -m | grep mysql)।

वास्तव में क्या गलत है, इसकी जांच करने के लिए (क्रिया) और (डीबग) झंडे के drushसाथ दौड़ें , उदा-v-d

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

और किसी भी त्रुटि के लिए जाँच करें।


PHP PDO के लिए mysql एक्सटेंशन स्थापित नहीं है। अपनी php.ini देखें कि आप इसे कैसे सक्षम कर सकते हैं।

डेटाबेस विस्तार (जैसे mysqli) (4 वें बिंदु के ऊपर) स्थापित करें ।

MAMP के लिए, देखें: Drush मेरे मैक पर काम नहीं करता है


MAMP

चूंकि आप MAMP का उपयोग कर रहे हैं, इसलिए यह भी सुनिश्चित करें कि आप phpबाइनरी के सही संस्करण (चेक द्वारा which php) को चला रहे हैं और यह इंगित करना चाहिए /Applications/MAMP/bin/php/php5.X.X/bin/php। यदि नहीं, तो कृपया PATHअपनी आरसी फाइलों में अपना रास्ता जोड़ें (जैसे ~/.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 के लिए XAMPP के लिए, समान चीज़, C:\xampp\mysql\binअपने पर्यावरण चर में जोड़ें PATH

डिबगिंग

यदि आपका drushआदेश किसी कारण से विफल हो जाता है, तो यहां ड्रश (शेल कमांड) डिबग करने के लिए सुझाए गए चरण हैं।

  1. PHP xdebugएक्सटेंशन को स्थापित और सक्षम करें । द्वारा सत्यापित करें php71 -i | grep xdebug
  2. Drupal रूट सत्यापित करें , सेटिंग्स फ़ाइल और डेटाबेस में मौजूद हैं drush status
  3. ट्रेस फ़ाइल उत्पन्न करें:

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

    या:

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

    यदि भिन्न PHP संस्करण के लिए xdebug सक्षम है, तो निर्दिष्ट करें DRUSH_PHP=/path/to/php

    सफल होने पर, ट्रेस आउटपुट फ़ाइल को अंत में प्रिंट किया जाना चाहिए, इसलिए इसका ध्यान रखें।

  4. अब ट्रेस फाइल को खोलें और चेक करें।

  5. क्लीन ड्रुपल के साथ ड्रश आउटपुट की जांच या तुलना करने के लिए, आप खाली फ़ोल्डर में नया ड्रुपल इनस्टॉल कर सकते हैं:

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

2
+1 वास्तव में अच्छा जवाब, स्पष्ट जाँच सेटिंग्स से परे जाकर। dp और db। मेरे लिए विशेष रूप से मेरी drush sqlcमदद की क्योंकि इससे पता चलता है कि डेटाबेस उपयोगकर्ता के साथ नहीं जोड़ा जा सकता है, जिसके कारण मुझे उपयोगकर्ता और पासवर्ड की जांच करने में मदद मिली और यह पता चला कि मैंने उन्हें गलत तरीके से सेट किया है। धन्यवाद!
थेरोबोक्नो

1
मेरे पास @therobyouknow के समान मुद्दा था - मेरे पास एक ~/.my.cnfफ़ाइल थी जो mysql कनेक्शन के लिए उपयोगकर्ता को निर्दिष्ट करती थी लेकिन पासवर्ड नहीं। मुझे लगता है कि यह साइट से पासवर्ड के साथ उस फ़ाइल से उपयोगकर्ता का उपयोग करने के परिणामस्वरूप किया गया था, जो कि अमान्य था। मेरी ~/.my.cnfफ़ाइल में एक पासवर्ड जोड़ना , या उस फ़ाइल को पूरी तरह से समस्या को दूर करना
Artfulrobot

4

मेरे मैक चल MAMP पर नए Drush 8 के साथ भी यही समस्या थी

आपको इसे अपने .bash_profile निर्यात PATH = / Applications / MAMP / लाइब्रेरी / बिन /: $ PATH में जोड़ना होगा।

एक बार जोड़ा जाने के बाद एक नई टर्मिनल विंडो खोलना सुनिश्चित करें क्योंकि यह आपकी वर्तमान विंडो पर काम नहीं करेगी क्योंकि बैश को फिर से शुरू करने की आवश्यकता है।


1
यह एक थकाऊ रेखा है जो मेरे लिए तय की गई है। मैं इस पर अपने बाल खींच रहा था। जब आप बैश करने के लिए UPDATES / CHANGES बनाते हैं, तो आप एक नया टर्मिनल खोलते हैं! अन्यथा आपकी नई सेटिंग प्रभावित नहीं करेगी।
एरियर

1

जैसा कि @kenorb ने कहा, उपयोग करें drush -vd cc all, यह आपको इस बारे में एक अच्छा विचार देगा कि विस्तार से क्या हो रहा है। मेरे मामले में, यह त्रुटि के कारण था "mysql command not found"। मैंने अपने पर्यावरण चर में mysql के लिए पथ स्थापित करके इसे हल किया। मुझे लगता है कि आपको Drush और MySQL दोनों के लिए अपने रास्ते की जाँच करने की आवश्यकता है और देखें कि क्या यह काम करता है।

धन्यवाद!!


1

Drush का उपयोग करके सभी कैश को साफ़ करने के लिए, आपको उस साइट की निर्देशिका को टर्मिनल पर जाना होगा जहाँ आपकी साइट निर्देशिका www या htdocs निर्देशिका में स्थित है और फिर कमांड चलाने के बाद आपका प्रोजेक्ट फ़ोल्डर:

drush cc all

0

Drush पैकेज कॉन्फ़िगर.md चेकआउट करें, इसमें प्लेटफार्मों के लिए सहायक संकेत का एक गुच्छा है, MAMP अनुभाग इस प्रकार है:

मम्प के लिए अतिरिक्त कॉन्फ़िगरेशन:

MAMP के उपयोगकर्ताओं को अपने PATH में मैन्युअल रूप से निर्दिष्ट करना होगा कि कमांड लाइन इंटरफ़ेस में php और MySQL के कौन से संस्करण का उपयोग करना है। यह MAMP एप्लिकेशन सेटिंग में चयनित php संस्करण से स्वतंत्र है। OS X के तहत, अपने होम फोल्डर में .bash_profile नामक फ़ाइल को संपादित करें (या यदि यह पहले से मौजूद नहीं है तो बनाएं)।

Php 5.3.x का उपयोग करने के लिए, इस लाइन को .bash_profile में जोड़ें:

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

यदि आप php का उपयोग करना चाहते हैं 5.4.x, इस पंक्ति को इसके बजाय जोड़ें:

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

यदि आप MAMP 3 का उपयोग करते हैं (डिफ़ॉल्ट रूप से php 5.5.14) और php 5.5.x का उपयोग करना चाहते हैं, तो इस पंक्ति को इसके बजाय जोड़ें:

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

यदि आपके पास MAMP v.1.84 या उससे कम है, तो यह कॉन्फ़िगरेशन PHP के दोनों संस्करणों के लिए काम करेगा:

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

यदि आपने ऐसा किया है और अभी भी पीडीओ :: __ निर्माण से "कोई ऐसी फाइल या निर्देशिका नहीं" त्रुटि मिल रही है, तो यह प्रयास करें:

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

इसके अतिरिक्त, आपको सफलतापूर्वक drush का उपयोग करने से पहले अपनी php.ini सेटिंग्स को समायोजित करने की आवश्यकता हो सकती है। आगे बढ़ने के बारे में अधिक जानकारी के लिए नीचे CONFIGURING PHP.INI देखें।


0

MAMP Pro चलाना मुझे इस लाइन को अपनी ~/.bash_profileफ़ाइल में जोड़कर काम करने के लिए मिला :

export PATH=$PATH:/Applications/MAMP/Library/bin
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.