Après beaucoup d'épreuves et de tribulations, je pensais avoir bu toutes prêtes à rugir. Beaucoup d'excitation. Mais alors, pas de joie ...
Drush fonctionne. Les sites fonctionnent bien via MAMP. Quoi qu'il en soit, une commande "drush cc all" renvoie:
No Drupal site found, only 'drush' cache was cleared. [warning]
'all' cache was cleared. [success]
Cette question a déconcerté les participants drupalcon et les développeurs très expérimentés. Des idées?
Je suis sur Mac OS 10.9.3 en utilisant MAMP (gratuit) Version 3.0.5
Voici mon statut de drush:
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
J'ai essayé d'exécuter drush depuis /Applications/MAMP/htdocs/mysite.dev
; de /Applications/MAMP/htdocs/mysite.dev/sites/default
; et en utilisantdrush cc all --uri=http://localhost/mysite.dev
J'ai essayé d'exécuter drush à partir de sites / par défaut. Même résultat.
Réponses:
Veuillez vérifier que tous les points ci-dessous sont traités.
drush
dans le dossier racine Drupal ou dans un dossier contenant unsettings.php
fichier.La
mysql
commande existe (et elle est dans votrePATH
).Veuillez noter que la commande database dépend de votre base de données
driver
définie dans votre fichier de paramètres (par exemplesqlcmd
pour SQL Server; pour plus de détails, vérifiez les différentes classes dans Drush's/src/Sql
).Si la commande est manquante lors de l'exécution dans un dossier, assurez-vous que le chemin d'accès à son fichier binaire est ajouté dans votre
PATH
variable système.Votre PHP a l' extension PDO activée (vérifiez par:
php -m | grep pdo
oudrush sqlc
).mysqli
) (vérifiez par:)php -m | grep mysql
.Pour rechercher ce qui ne va pas exactement, exécutez
drush
avec les indicateurs-v
(verbose) et-d
(debug), par exempleet vérifiez s'il y a des erreurs.
Installez l' extension de base de données (par exemple
mysqli
) (conformément au 4ème point ci-dessus).Pour MAMP, voir: Drush ne fonctionne pas sur mon Mac
MAMP
Puisque vous utilisez MAMP, assurez-vous également que vous exécutez la bonne version de
php
binaire (vérifiez parwhich php
) et il doit pointer vers/Applications/MAMP/bin/php/php5.X.X/bin/php
. Sinon, s'il vous plaît ajouter le chemin dans votrePATH
dans vos rc fichiers (par exemple~/.bashrc
):XAMPP
Pour XAMPP pour Windows, chose similaire, ajoutez votre
C:\xampp\mysql\bin
dans votre variable d'environnementPATH
.Débogage
Si votre
drush
commande échoue pour une raison quelconque, voici les étapes suggérées pour déboguer drush (commandes shell).xdebug
. Vérifiez parphp71 -i | grep xdebug
.drush status
.Générer un fichier de trace:
ou:
Si xdebug est activé pour différentes versions de PHP, spécifiez avec
DRUSH_PHP=/path/to/php
.En cas de succès, le fichier de sortie de trace doit être imprimé à la fin, alors prenez-en note.
Maintenant, ouvrez et vérifiez le fichier de trace.
Pour tester ou comparer la sortie drush avec Drupal propre, vous pouvez installer de nouveaux Drupal dans un dossier vide en:
la source
drush sqlc
aidé car il a montré que la base de données ne pouvait pas être connectée à l'utilisateur, ce qui m'a amené à vérifier l'utilisateur et le mot de passe et a révélé que je les avais mal configurés. Je vous remercie!~/.my.cnf
fichier qui spécifiait l'utilisateur pour les connexions mysql mais pas de mot de passe. Je pense que cela entraînait une utilisation excessive de l'utilisateur de ce fichier avec le mot de passe du site, qui n'était pas valide. L'ajout d'un mot de passe dans mon~/.my.cnf
fichier ou la suppression de ce fichier a entièrement résolu le problèmeJ'ai eu le même problème avec le nouveau Drush 8 sur mon Mac exécutant MAMP
Vous devez l'ajouter à votre export .bash_profile PATH = / Applications / MAMP / Library / bin /: $ PATH.
une fois ajouté, assurez-vous d'ouvrir une nouvelle fenêtre de terminal car cela ne fonctionnera pas sur votre fenêtre actuelle car bash doit redémarrer.
la source
Comme l'a dit @kenorb, utilisez
drush -vd cc all
, cela vous donnera une bonne idée de ce qui se passe en détail. Dans mon cas, c'était dû à l'erreur"mysql command not found"
. Je l'ai résolu en configurant le chemin d'accès à mysql dans mes variables d'environnement. Je pense que vous devez également vérifier votre chemin, pour Drush et MySQL et voir si cela fonctionne.Merci!!
la source
Pour effacer tout le cache à l'aide de Drush, vous devez aller dans le répertoire du site sur le terminal où se trouve votre répertoire de site comme dans le répertoire www ou htdocs, puis dans votre dossier de projet après cela, exécutez la commande:
la source
Découvrez le package Drush configure.md, il a un tas de conseils utiles pour les plates-formes, la section MAMP est donc:
la source
En exécutant MAMP Pro, je l'ai fait fonctionner en ajoutant cette ligne dans mon
~/.bash_profile
fichier:la source