web-dev-qa-db-fra.com

La commande pm-enable nécessite un niveau bootstrap supérieur pour s'exécuter)

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:

  • centos 6
  • php 5.3.3
  • installation de base de site unique drupal 7.x

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.

4
J.H.

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

5
greg_1_anderson

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

4
2pha

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

3

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'

voir Drush ne fonctionne pas sur mon Mac

1
kbrinner

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

1
Yangxiaoyong

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.

0
Jason