Друк встановлений і працює; Не знайдено жодного веб-сайту Drupal, навіть якщо вказано урі


9

Після довгих судових процесів і страждань, я подумав, що я наштовхнувся на все готове до реву. Велике хвилювання. Але тоді ніякої радості ...

Друш працює. Сайти працюють добре через MAMP. Незалежно, команда "drush cc all" повертає:

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

Це питання наткнулось на відвідувачів drupalcon та дуже досвідчених розробників. Будь-які ідеї?

Я на Mac OS 10.9.3, використовуючи MAMP (безкоштовно) версії 3.0.5

Ось мій статус барабанника:

 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

Спробував запущений барабан із сайтів / за замовчуванням. Той самий результат.


чи знаходиться ваше з'єднання з базою даних у папці сайти / за замовчуванням? Якщо це так, спробуйте просто запустити drush cc з цієї папки. Я не думаю, що --uri є вагомим аргументом для друку cc
chadpeppers

Спробував запущений барабан із сайтів / за замовчуванням. Той самий результат.
jenpasch

Ви знайшли рішення для цього. У мене те саме питання і подібні налаштування.
Deejay

Я не. Я як і раніше безрезультатний.
jenpasch

Ви дивилися на це? Схоже це зверху: drupal.stackexchange.com/questions/98802/…
Laryn - CEDC.org

Відповіді:


9

Перевірте, чи вказано всі пункти нижче.

  1. Ви працюєте drushв кореневій папці або папці, що містить settings.phpфайл.
  2. mysqlКоманда існує (і це в ваших PATH).

    Зверніть увагу, що команда бази даних залежить від driverнабору даних у вашому файлі налаштувань (наприклад, sqlcmdдля SQL Server; для детальної інформації перевірте різні класи в Drush's /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

і перевірити наявність помилок.


розширення mysql для PDP PDO не встановлено. Перевірте свій php.ini, щоб побачити, як ви можете його включити.

Встановіть розширення бази даних (наприклад mysqli) (відповідно до 4-ї точки).

Про MAMP див.: Drush не працює на моєму Mac


МАМП

Оскільки ви використовуєте 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

Для XAMPP для Windows аналогічна річ, додайте свою C:\xampp\mysql\binзмінну до середовища PATH.

Налагодження

Якщо ваша drushкоманда з якихось причин виходить з ладу, ось запропоновані кроки для налагодження друку (команди оболонки).

  1. Встановіть і ввімкніть розширення PHPxdebug . Підтвердити за 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();"

    Якщо xdebug увімкнено для іншої версії PHP, вкажіть за допомогою DRUSH_PHP=/path/to/php.

    Якщо успіх, вихідний файл трасування слід надрукувати наприкінці, тому занотуйте його.

  4. Тепер відкрийте і перевірте файл сліду.

  5. Щоб протестувати або порівнювати вихідний друк з чистим Drupal, ви можете встановити новий Drupal у порожню папку:

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

2
+1 дуже приємна відповідь, виходячи за рамки очевидних параметрів перевірки.php та db. Особливо мені це drush sqlcдопомогло, оскільки показало, що база даних не може бути пов'язана з користувачем, що призвело до перевірки користувача та пароля та виявило, що я їх встановив неправильно. Дякую!
therobyouknow

1
У мене була схожа проблема з @therobyouknow - у мене був ~/.my.cnfфайл, який вказав користувача для підключення mysql, але не пароль. Я думаю, що це призвело до того, що користувач із цього файлу використовував пароль із паролем із сайту, який був недійсним. Додавання пароля до мого ~/.my.cnfфайлу або видалення цього файлу цілком
усунуло

4

Була така ж проблема з новим Drush 8 на моєму Mac під керуванням MAMP

Вам потрібно додати це до експорту .bash_profile PATH = / Програми / MAMP / Бібліотека / бін /: $ PATH.

Після додавання переконайтесь, що відкрийте нове вікно терміналу, оскільки воно не працюватиме у вашому поточному вікні, оскільки bash потрібно запустити заново.


1
Ця лінія, що викидається, - це те, що мені зафіксувало. Я витягнув волосся на цьому. ВІДКРИТИ НОВЕ ТЕРМІНАЛЬНЕ ВІКНЕ, КОЛИ ВИ РОБИТЕ ОНОВЛЕННЯ / ЗМІНИ, щоб баш! Інакше ваші нові налаштування не матимуть впливу.
erier

1

Як сказав @kenorb, використовуйте drush -vd cc all, це дасть вам гарне уявлення про те, що відбувається докладно. У моєму випадку це було пов’язано з помилкою "mysql command not found". Я вирішив це, встановивши шлях для mysql в моєму середовищі змінних. Я вважаю, що вам потрібно перевірити свій шлях і для Drush та MySQL, і перевірити, чи працює він.

Дякую!!


1

Щоб очистити весь кеш за допомогою Drush, вам потрібно зайти в каталог сайту на терміналі, де розташований каталог вашого веб-сайту, як у каталозі www або htdocs, а потім у вашу папку проекту після цього виконати команду:

drush cc all

0

Оформлення пакета Drush configure.md, він містить купу корисних підказок для платформ, розділ MAMP таким чином:

Додаткові конфігурації для Mamp:

Користувачам MAMP потрібно буде вручну вказати у своєму PATH, яку версію php та MySQL використовувати в інтерфейсі командного рядка. Це не залежить від версії php, вибраної в налаштуваннях програми MAMP. У ОС 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"

Якщо ви зробили це, і все ще отримуєте помилку "немає такого файлу чи каталогу" з PDO :: __ конструктиву, спробуйте це:

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

Крім того, вам може знадобитися відрегулювати налаштування php.ini, перш ніж успішно використовувати барабан. Див. КОНФІГУРНУВАННЯ PHP.INI нижче для отримання більш детальної інформації про те, як діяти далі.


0

Запуск MAMP Pro Я працював над цим, додавши цей рядок у свій ~/.bash_profileфайл:

export PATH=$PATH:/Applications/MAMP/Library/bin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.