J'explore les forums depuis deux jours en essayant d'obtenir une réponse à mon problème, je suis nouveau sur Drush mais assez bon avec Drupal. mon environnement est le suivant:
J'ai installé drush
, puis cd
dans le répertoire racine de mon site et j'ai utilisé drush dl seo_checklist qui fonctionnait bien.
quand je cours drush en seo_checklist
J'obtiens la sortie suivante:
Command pm-enable needs a higher bootstrap level to run - you will need to invoke drush from a more functional Drupal environment to run this command. [error]
The drush command 'en seo_checklist' could not be executed. [error]
Drush was not able to start (bootstrap) the Drupal database. [error]
Hint: This may occur when Drush is trying to:
* bootstrap a site that has not been installed or does not have a configured database. In this case you can select another site with a working database setup by specifying the URI to use with the --uri parameter on the command line. See `drush topic docs-aliases` for details.
* connect the database through a socket. The socket file may be wrong or the php-cli may have no access to it in a jailed Shell. See http://drupal.org/node/1428638 for details.
Drush was attempting to connect to:
Drupal version : 7.34
Site URI : http://default
PHP executable : /usr/bin/php
PHP configuration : /etc/php.ini
PHP OS : Linux
Drush version : 7.0-dev
Drush temp directory : /tmp
Drush configuration :
Drush alias files :
Drupal root : /var/www/html/mytestsite
Site path : sites/default
j'ai modifié mon fichier de paramètres pour inclure:
'Host' => php_sapi_name() == 'cli' ? '127.0.0.1' : 'localhost'
MISE À JOUR - 1
drush st
renvoie ce qui suit:
PHP executable : /usr/bin/php
PHP configuration : /etc/php.ini
PHP OS : Linux
Drush version : 7.0-dev
Drush temp directory : /tmp
Drush configuration :
Drush alias files :
tout ce qui se trouve dans le dossier racine a 755 autorisations et appartient à Apache: apache
J'exécute la commande drush
en tant que root. je n'ai aucune idée de ce qui pourrait être à l'origine du problème.
Votre fichier settings.php est-il dans sites/all/default? Sinon, vous devrez ajouter l'option --uri. Si votre fichier settings.php se trouve dans sites/all/foo.com, ajoutez --uri = foo.com.
drush --uri=foo.com en seo_checklist
Ou, changez votre répertoire de travail dans le même dossier qui contient settings.php.
Ou, définissez un alias de site @foo qui définit "root" et "uri", puis utilisez:
drush @foo en seo_checklist
Pour réellement découvrir pourquoi cela se produit afin que vous ayez une meilleure idée de comment y remédier, exécutez une commande drush avec le --debug
option. par exemple: drush pm-list --debug
. Parcourez ensuite la sortie pour voir tout ce qui pourrait être à l'origine du problème.
https://2pha.com/blog/fixing-drush-needs-higher-bootstrap-level-run
Dans mon cas, il s'est avéré que j'avais besoin d'installer mysql-client:
apt-get install mysql-client
J'ai eu la situation suivante: les drush 4, 5 et 6 ont très bien fonctionné pour moi. drush 7, 8 ne fonctionnent pas (différentes erreurs, y compris celles que vous décrivez). Et ma base de données MySQL était située sur un serveur séparé.
HTH, Alexander
J'ai eu le même problème et j'ai dû ajouter quelque chose à $ PATH en modifiant mon .bash_profile
# Add PHP to drush path export DRUSH_PHP='/Applications/MAMP/bin/php/php[your-php-version]/bin/php'
Il semble que vous exécutiez drush depuis l'extérieur d'un dossier drupal webroot. Assurez-vous que vous exécutez drush depuis l'intérieur du dossier où drupal est, n'importe où dans ce dossier, drush devrait ne vous donne pas cette erreur
Mettre à jour PHP, j'ai eu le même problème avec CentOS6, remplacé PHP 5.3.3 avec 5.5.22 de webtactic et drush n'a rencontré aucun problème.