Drush no Windows - O comando pm-enable precisa de um nível de bootstrap mais alto para executar

10

Instalei o aquia drupal e adicionei uma pasta principal do drupal à lista de sites.

Eu também instalei o instalador do Windows do drush, ele funciona bem para baixar módulos, mas quando tento habilitá-los, recebo esta tela:

C:\Documents and Settings\Administrator\Desktop\drupal>drush en ctools
Command pm-enable needs a higher bootstrap level to run - you will       [error]

need invoke drush from a more functional Drupal environment to run
this command.
The drush command 'en ctools' could not be executed.                     [error]

Drush was not able to start (bootstrap) the Drupal database.             [error]

Hint: This error often occurs when Drush is trying to bootstrap a
site that has not been installed or does not have a configured
database.

Drush was attempting to connect to :
  Drupal version    : 7.9
  Site URI          : http://default
  Default theme     : garland
  Administration theme: garland
  PHP configuration : C:\Program Files\Propeople\Drush\Php\php.ini
  Drush version     : 5.0-dev
  Drush configuration:
  Drush alias files :
  Drupal root       : C:/Documents and
Settings/Administrator/Desktop/drupal
  Site path         : sites/default
  Modules path      : sites/all/modules
  Themes path       : sites/all/themes
  File directory path: sites/default/files
  %paths            : Array

You can select another site with a working database setup by
specifying the URI to use with the --uri parameter on the command
line or $options['uri'] in your drushrc.php file.

Alguém sabe como resolver isto?

Como uma observação lateral, qual é a maneira mais fácil de se refrescar com o bash trabalhando no Windows? Alguma coisa boa?

qwertymk
fonte

Respostas:

10

Esse erro específico ocorre quando o drush não consegue encontrar o arquivo settings.php para ler e o "bootstrap".

Você precisa fazer o cd no diretório drupal (raiz do documento) da instalação do drupal para ler em um arquivo settings.php.

Parece que seu pwd (atual diretório de trabalho) está na sua área de trabalho. O que eu vou fazer uma suposição rápida de que esse diretório não é onde sua instalação do drupal está localizada.

Como uma observação lateral, qual é a maneira mais fácil de se refrescar com o bash trabalhando no Windows? Alguma coisa boa?

Eu recomendo analisar a instalação / uso do Cygwin no Windows; como é uma ligeira melhoria.

A partir daí, você poderá fazer mais coisas com o Drush. O sql-sync e várias outras funções que ouço não funcionam totalmente de maneira confiável. Para ainda mais pontos de bônus, você pode mudar para um ambiente linux ou mac (algo que tenha um terminal embutido).

Se você precisar permanecer no Windows, considere um projeto drupal chamado de início rápido , que cria uma máquina virtual que permite executar o ubuntu através de um terminal de área de trabalho remota.

chrisjlee
fonte
11
Você também pode configurar arquivos de alias do site com as informações do caminho para o seu DOCROOT, o que permite executar drush de qualquer lugar.
mpdonadio
na verdade, o diretório é C:\Documents and Settings\Administrator\Desktop\drupala pasta raiz da instalação do drupal.
Qwertymk
@qwertymk, então mude seu diretório e execute drush a partir daí.
chrisjlee
5

Se a pasta de sites não tiver o nome padrão, faça o cd para a pasta que contém settings.php e tente novamente. Você também pode especificar a raiz e o site explicitamente com as opções --root e --uri. Veja drush topicpara obter mais ajuda drush; em particular, leia o tópico de aliases de exemplo.

Esteja ciente de que ainda existem problemas em aberto com o Drush no Windows. Para obter o melhor resultado, verifique se você está usando o instalador mais recente (23 de novembro até o momento em que este documento foi escrito).

greg_1_anderson
fonte
1

Eu tive um problema semelhante, mas a causa raiz era um pouco diferente. O Drush não conseguiu encontrar o arquivo php.ini. Uma maneira fácil de verificar se você tem o mesmo problema é executar drush statuse ver se o PHP Configurationvalor está em branco ou não.

Se for, a maneira mais rápida e fácil de resolver esse problema é especificar a variável de caminho PHPRC Environment Settingse apontar para o arquivo php.ini correto.

Nerrve
fonte
onde eu especifico o caminho PHPRC? :)
Vic
1

Pela minha experiência, esse erro ocorre quando o php invocado pelo drush não carrega os módulos adicionais, que são usados, quando o php é usado dentro do servidor da web (como pdo e pdo_mysql).

Localize onde os arquivos como pdo.ini e pdo_mysql.ini estão localizados. Em seguida, defina a variável de ambiente PHP_INI_SCAN_DIR para apontar para esse diretório e tente executar o drush novamente.

Міша
fonte
0

você provavelmente me esqueceu de adicionar um docroot / sites / default / settings.local.php

<?php
$databases = array(
    'default' => array(
            'default' => array(
                    'database' => 'database_name',
                    'username' => 'root',
                    'password' => '',
                    'host' => '127.0.0.1',
                    'port' => '',
                    'driver' => 'mysql',
                    'prefix' => '',
            ),
    ),
);
$conf['file_temporary_path'] = '/tmp';
Adrian Sweeney
fonte
0

Problema ao ativar os módulos usando o Drush.

SO: Windows 10 | Servidor Wamp 3.0.6 de 6 bits | Apache 2.4.23 | PHP 5.6.25 | Mysql 5.7.14

status de drush $

Versão do Drupal: 8.3.3

URI do site: http: // padrão

Driver de banco de dados: mysql

Nome do host do banco de dados: 127.0.0.1

Porta do banco de dados: 3306

Nome de usuário do banco de dados: root

Nome do banco de dados: d8

Configuração do PHP: C: \ wamp64 \ bin \ php \ php5.6.25 \ php.ini

SO PHP: WINNT

Script Drush: C: / Usuários / {nome de usuário} / AppData / Roaming / Compositor / fornecedor / dru sh / drush / drush.php

Versão Drush: 8.1.12

Diretório temporário de drush: C: \ Usuários {nome de usuário} \ AppData \ Local \ Temp

Configuração Drush:

Arquivos alias de drush:

Raiz drupal: C: \ wamp64 \ www \ d8

Arquivo de configurações do Drupal: sites / default / settings.php

Caminho do site: sites / padrão

Caminho da configuração de sincronização: sites / default / files / config_E6SAOaCUH8rQXxYNzKf6ZlT-u VwHuORJbi1aeT8x1zE4nMxT8FxUGFr36_Cjtq_ACGAGLt4_9g / sy nc

------ Github Bash Output -------

laxman-nb MINGW64 / c / wamp64 / www / d8 / sites / padrão

$ drush cr

O comando cache-reconstruction precisa de um nível de bootstrap mais alto para executar - você precisará chamar o drush a partir de um [erro] mais funcional

Drupal para executar este comando.

O comando cache-reconstruction exige a execução da versão principal do Drupal 8+. [Erro]

O comando drush 'cr' não pôde ser executado. [erro]

------ Github Bash Output -------

Você pode me ajudar com isto.!

Agradeço antecipadamente.

laxman2021
fonte