Nach vielen Prüfungen und Schwierigkeiten dachte ich, ich hätte alles getan, um zu brüllen. Viel Aufregung. Aber dann keine Freude ...
Drush funktioniert. Die Websites funktionieren einwandfrei über MAMP. Unabhängig davon gibt ein Befehl "drush cc all" zurück:
No Drupal site found, only 'drush' cache was cleared. [warning]
'all' cache was cleared. [success]
Diese Frage hat Drupalcon-Teilnehmer und sehr erfahrene Entwickler verblüfft. Irgendwelche Ideen?
Ich bin unter Mac OS 10.9.3 mit MAMP (kostenlos) Version 3.0.5
Hier ist mein Drush-Status:
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
Habe versucht, drush von auszuführen /Applications/MAMP/htdocs/mysite.dev
; von /Applications/MAMP/htdocs/mysite.dev/sites/default
; und mitdrush cc all --uri=http://localhost/mysite.dev
Versucht Drush von Sites / Standard laufen. Gleiches Ergebnis.
Antworten:
Bitte überprüfen Sie, ob alle unten aufgeführten Punkte angesprochen wurden.
drush
im Drupal-Stammordner oder im Ordner mit dersettings.php
Datei ausgeführt.Der
mysql
Befehl existiert (und ist in IhremPATH
).Bitte beachten Sie, dass der Datenbankbefehl von Ihrer
driver
in Ihrer Einstellungsdatei festgelegten Datenbank abhängt (z. B.sqlcmd
für SQL Server; Einzelheiten finden Sie in den verschiedenen Klassen in Drushs/src/Sql
).Wenn der Befehl in einem Ordner fehlt, stellen Sie sicher, dass der Pfad zu seiner Binärdatei zu Ihrer
PATH
Systemvariablen hinzugefügt wird.In Ihrem PHP ist die PDO- Erweiterung aktiviert (überprüfen durch:
php -m | grep pdo
oderdrush sqlc
).mysqli
) (überprüfen durch :)php -m | grep mysql
.Um zu untersuchen , was genau falsch, lief
drush
mit-v
(ausführlich) und-d
(debug) Fahnen, zBund auf Fehler prüfen.
Installieren Sie die Datenbankerweiterung (z. B.
mysqli
) (siehe oben, 4. Punkt).Informationen zu MAMP finden Sie unter: Drush funktioniert auf meinem Mac nicht
MAMP
Da Sie MAMP verwenden, stellen Sie außerdem sicher, dass Sie die richtige Version der
php
Binärdatei (check bywhich php
) ausführen und darauf verweisen sollten/Applications/MAMP/bin/php/php5.X.X/bin/php
. Wenn nicht, fügen Sie bitte den Pfad inPATH
Ihre RC- Dateien ein (z. B.~/.bashrc
):XAMPP
Fügen Sie für XAMPP für Windows ähnlich
C:\xampp\mysql\bin
Ihre Umgebungsvariable hinzuPATH
.Debuggen
Wenn Ihr
drush
Befehl aus irgendeinem Grund fehlschlägt, finden Sie hier die vorgeschlagenen Schritte zum Debuggen von Drush (Shell-Befehle).xdebug
Erweiterung . Überprüfen Sie durchphp71 -i | grep xdebug
.drush status
.Trace-Datei generieren:
oder:
Wenn xdebug für eine andere PHP-Version aktiviert ist, geben Sie mit an
DRUSH_PHP=/path/to/php
.Wenn dies erfolgreich ist, sollte die Trace-Ausgabedatei am Ende gedruckt werden. Notieren Sie sich dies.
Öffnen Sie nun die Trace-Datei und überprüfen Sie sie.
Um die Drush-Ausgabe mit sauberem Drupal zu testen oder zu vergleichen, können Sie neues Drupal in einem leeren Ordner installieren, indem Sie:
quelle
drush sqlc
hat mir geholfen, da es zeigte, dass die Datenbank nicht mit dem Benutzer verbunden werden konnte, was dazu führte, dass ich den Benutzer und das Passwort überprüfte und feststellte, dass ich sie falsch eingerichtet hatte. Vielen Dank!~/.my.cnf
Datei, in der der Benutzer für MySQL-Verbindungen angegeben war, jedoch kein Kennwort. Ich denke, dies führte dazu, dass der Benutzer aus dieser Datei mit dem ungültigen Passwort von der Site drush verwendet wurde. Das Hinzufügen eines Passworts zu meiner~/.my.cnf
Datei oder das Entfernen dieser Datei hat das Problem vollständig behobenHatte das gleiche Problem mit dem neuen Drush 8 auf meinem Mac mit MAMP
Sie müssen dies zu Ihrem .bash_profile-Export hinzufügen. PATH = / Applications / MAMP / Library / bin /: $ PATH.
Stellen Sie nach dem Hinzufügen sicher, dass Sie ein neues Terminalfenster öffnen, da es in Ihrem aktuellen Fenster nicht funktioniert, da bash erneut gestartet werden muss.
quelle
Wie @kenorb sagte, verwenden Sie
drush -vd cc all
, es gibt Ihnen eine gute Vorstellung davon, was im Detail passiert. In meinem Fall lag es an dem Fehler"mysql command not found"
. Ich habe es gelöst, indem ich den Pfad für MySQL in meinen Umgebungsvariablen eingerichtet habe. Ich denke, Sie müssen auch Ihren Pfad für Drush und MySQL überprüfen und prüfen, ob es funktioniert.Vielen Dank!!
quelle
Um den gesamten Cache mit Drush zu löschen, müssen Sie das Verzeichnis der Site auf dem Terminal aufrufen, in dem sich Ihr Site-Verzeichnis wie im Verzeichnis www oder htdocs befindet, und anschließend Ihren Projektordner ausführen. Führen Sie anschließend den folgenden Befehl aus:
quelle
Testen Sie das Drush-Paket configure.md. Es enthält eine Reihe hilfreicher Hinweise für Plattformen. Der MAMP-Abschnitt lautet daher:
quelle
Ausführen von MAMP Pro Ich habe dies durch Hinzufügen dieser Zeile zu meiner
~/.bash_profile
Datei zum Laufen gebracht :quelle