Depois de muitas provações e tribulações, pensei que tinha bebido tudo pronto para rugir. Muita emoção. Mas então, sem alegria ...
Drush está funcionando. Os sites funcionam bem via MAMP. Independentemente, um comando "drush cc all" retorna:
No Drupal site found, only 'drush' cache was cleared. [warning]
'all' cache was cleared. [success]
Esta pergunta surpreendeu os participantes da drupalcon e os desenvolvedores muito experientes. Alguma ideia?
Estou no Mac OS 10.9.3 usando o MAMP (gratuito) versão 3.0.5
Aqui está o meu status 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á tentei executar drush de /Applications/MAMP/htdocs/mysite.dev
; de /Applications/MAMP/htdocs/mysite.dev/sites/default
; e usandodrush cc all --uri=http://localhost/mysite.dev
Tentei executar drush de sites / padrão. Mesmo resultado.
Respostas:
Por favor, verifique se todos os pontos abaixo são abordados.
drush
na pasta raiz do Drupal ou na pasta que contém osettings.php
arquivo.O
mysql
comando existe (e está no seuPATH
).Observe que o comando database depende do seu banco de dados
driver
definido no seu arquivo de configurações (por exemplo,sqlcmd
para o SQL Server; para obter detalhes, verifique as diferentes classes nos Drush/src/Sql
).Se o comando estiver ausente ao executar em qualquer pasta, verifique se o caminho do arquivo binário foi adicionado à sua
PATH
variável de sistema.Seu PHP possui a extensão DOP ativada (verifique por:
php -m | grep pdo
oudrush sqlc
).mysqli
) (verifique porphp -m | grep mysql
:).Para investigar o que é exatamente errado, correr
drush
com-v
(detalhado) e-d
bandeiras (depuração), por exemplo,e verifique se há erros.
Instale a extensão do banco de dados (por exemplo
mysqli
) (conforme acima do quarto ponto).Para o MAMP, consulte: Drush não funciona no meu Mac
MAMP
Como você está usando o MAMP, certifique-se de executar a versão correta do
php
binário (verifique porwhich php
) e ela deve apontar para/Applications/MAMP/bin/php/php5.X.X/bin/php
. Caso contrário, adicione o caminhoPATH
no seu arquivo rc (por exemplo~/.bashrc
):XAMPP
Para o XAMPP para Windows, algo semelhante, adicione sua
C:\xampp\mysql\bin
variável de ambientePATH
.Depuração
Se o seu
drush
comando falhar por algum motivo, aqui estão as etapas sugeridas para depurar drush (comandos do shell).xdebug
. Verifique porphp71 -i | grep xdebug
.drush status
.Gere arquivo de rastreamento:
ou:
Se o xdebug estiver ativado para uma versão diferente do PHP, especifique com
DRUSH_PHP=/path/to/php
.Se for bem-sucedido, o arquivo de saída de rastreio deverá ser impresso no final, portanto, anote-o.
Agora abra e verifique o arquivo de rastreamento.
Para testar ou comparar a saída de drush com o Drupal limpo, você pode instalar o novo Drupal na pasta vazia:
fonte
drush sqlc
ajudou, pois mostrou que o banco de dados não podia ser conectado ao usuário, o que me levou a verificar o usuário e a senha e revelou que eu os havia configurado errado. Obrigado!~/.my.cnf
arquivo que especificava usuário para conexões mysql, mas não uma senha. Eu acho que isso estava resultando em drush usando o usuário desse arquivo com a senha do site, que era inválida. Adicionando uma senha no meu~/.my.cnf
arquivo, ou remover esse arquivo totalmente resolvido o problemaTive o mesmo problema com o novo Drush 8 no meu Mac executando o MAMP
Você precisa adicioná-lo ao seu .bash_profile export PATH = / Aplicativos / MAMP / Biblioteca / bin /: $ PATH.
depois de adicionado, abra uma nova janela do terminal, pois ela não funcionará na sua janela atual, pois o bash precisa ser iniciado novamente.
fonte
Como o @kenorb disse, use
drush -vd cc all
, ele lhe dará uma boa idéia do que está acontecendo em detalhes. No meu caso, foi devido ao erro"mysql command not found"
. Eu o resolvi configurando o caminho para o mysql nas minhas variáveis de ambiente. Eu sinto que você precisa verificar o seu caminho também, tanto para o Drush quanto para o MySQL, e ver se funciona.Obrigado!!
fonte
Para limpar o All Cache usando Drush, você deve acessar o diretório do site no terminal em que o diretório do site está localizado, como no diretório www ou htdocs, e depois a pasta do projeto, depois executar o comando:
fonte
Confira o pacote Drush configure.md, ele tem várias dicas úteis para plataformas, a seção MAMP é assim:
fonte
Executando o MAMP Pro, consegui que isso funcionasse adicionando esta linha ao meu
~/.bash_profile
arquivo:fonte