Po wielu próbach i udrękach pomyślałem, że mam już dość drukarzy gotowych do ryku. Dużo emocji. Ale wtedy nie ma radości ...
Drush działa. Witryny działają dobrze za pośrednictwem MAMP. Niezależnie od tego polecenie „drush cc all” zwraca:
No Drupal site found, only 'drush' cache was cleared. [warning]
'all' cache was cleared. [success]
To pytanie zaskoczyło uczestników Drupalcon i bardzo doświadczonych programistów. Jakieś pomysły?
Korzystam z systemu Mac OS 10.9.3, używając MAMP (darmowa) wersja 3.0.5
Oto mój status drusha:
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
Próbowałem wykonać drush z /Applications/MAMP/htdocs/mysite.dev
; z /Applications/MAMP/htdocs/mysite.dev/sites/default
; i za pomocądrush cc all --uri=http://localhost/mysite.dev
Próbowałem uruchomić drush z witryn / domyślnie. Ten sam wynik.
Odpowiedzi:
Proszę dokładnie sprawdzić, czy wszystkie poniższe punkty są zaadresowane.
drush
w folderze głównym Drupal lub folderze zawierającymsettings.php
plik.mysql
Komenda istnieje (i jest to w twojejPATH
).Należy pamiętać, że polecenie bazy danych zależy od bazy danych
driver
ustawionej w pliku ustawień (np.sqlcmd
Dla SQL Server; po szczegóły sprawdź różne klasy w Drush's/src/Sql
).Jeśli brakuje polecenia podczas uruchamiania w dowolnym folderze, upewnij się, że ścieżka do jego pliku binarnego została dodana do
PATH
zmiennej systemowej.Twoje PHP ma włączone rozszerzenie PDO (sprawdź przez:
php -m | grep pdo
lubdrush sqlc
).mysqli
) (Sprawdź przezphp -m | grep mysql
:).Aby zbadać, co dokładnie stało, prowadzony
drush
z-v
(do pełnych) i-d
(debugowania), np flagii sprawdź, czy nie ma błędów.
Zainstaluj rozszerzenie bazy danych (np.
mysqli
) (Zgodnie z powyższym 4. punktem).W przypadku MAMP patrz: Drush nie działa na moim komputerze Mac
MAMP
Ponieważ używasz MAMP, upewnij się, że używasz odpowiedniej wersji
php
binarnej (sprawdź przezwhich php
) i powinna ona wskazywać/Applications/MAMP/bin/php/php5.X.X/bin/php
. Jeśli nie, należy dodać ścieżkę do swojegoPATH
w swoim rc plików (na przykład~/.bashrc
):XAMPP
W przypadku XAMPP dla Windows, podobnie, dodaj swoją
C:\xampp\mysql\bin
zmienną środowiskowąPATH
.Debugowanie
Jeśli
drush
polecenie z jakiegoś powodu nie powiedzie się, oto sugerowane kroki do debugowania drush (polecenia powłoki).xdebug
. Zweryfikuj przezphp71 -i | grep xdebug
.drush status
.Wygeneruj plik śledzenia:
lub:
Jeśli xdebug jest włączony dla innej wersji PHP, określ za pomocą
DRUSH_PHP=/path/to/php
.Jeśli się powiedzie, plik wyjściowy śledzenia powinien zostać wydrukowany na końcu, więc zanotuj go.
Teraz otwórz i sprawdź plik śledzenia.
Aby przetestować lub porównać wydajność drusha z czystym Drupalem, możesz zainstalować nowego Drupala w pustym folderze przez:
źródło
drush sqlc
pomogło, ponieważ pokazało, że baza danych nie może być połączona z użytkownikiem, co skłoniło mnie do sprawdzenia użytkownika i hasła oraz ujawnienia, że źle je skonfigurowałem. Dziękuję Ci!~/.my.cnf
plik, który określał użytkownika dla połączeń mysql, ale nie hasło. Myślę, że to spowodowało drush przy użyciu użytkownika z tego pliku z hasłem z witryny, co było nieprawidłowe. Dodanie hasła do mojego~/.my.cnf
pliku lub usunięcie tego pliku całkowicie rozwiązało problemMiałem ten sam problem z nowym Drush 8 na moim komputerze Mac z systemem MAMP
Musisz dodać to do swojego eksportu .bash_profile PATH = / Applications / MAMP / Library / bin /: $ PATH.
po dodaniu upewnij się, aby otworzyć nowe okno terminala, ponieważ nie będzie działać w twoim bieżącym oknie, ponieważ bash musi się ponownie uruchomić.
źródło
Jak powiedział @kenorb, użyj
drush -vd cc all
, da ci dobry obraz tego, co dzieje się szczegółowo. W moim przypadku było to spowodowane błędem"mysql command not found"
. Rozwiązałem to, ustawiając ścieżkę dla mysql w moich zmiennych środowiskowych. Uważam, że musisz również sprawdzić swoją ścieżkę, zarówno dla Drusha, jak i MySQL-a i sprawdzić, czy to działa.Dzięki!!
źródło
Aby wyczyścić całą pamięć podręczną za pomocą Drush, musisz przejść do katalogu witryny na terminalu, w którym znajduje się katalog witryny, np. W katalogu www lub htdocs, a następnie folder projektu po uruchomieniu polecenia:
źródło
Zapoznaj się z pakietem Drush config.md, zawiera on wiele pomocnych wskazówek dla platform, sekcja MAMP jest zatem:
źródło
Uruchamianie MAMP Pro Mam to do pracy, dodając ten wiersz do mojego
~/.bash_profile
pliku:źródło