【问题标题】:Only some drush commands working只有一些 drush 命令有效
【发布时间】:2014-10-05 12:57:53
【问题描述】:

我正在尝试让 drush 在我的 ubuntu 笔记本电脑上运行,因为我想在 Drupal 中试用 omega 主题,但有些命令不起作用。

例如:drush en omegadrush omega-wizard

我得到的错误:Drush 无法启动(引导)Drupal 数据库。 要么 命令 pm-enable 需要更高的引导级别才能运行 - 你会 [错误] 需要从功能更强大的 Drupal 环境调用 drush 才能运行 这个命令。

我在其他线程中读到,这与 drush 无法连接到我的 mysql 数据库有关,我应该在我的 settings.php 中将 'localhost' 更改为 '127.0.0.1'。

我在我的 ubuntu 14.04 上使用 XAMPP 和 drush v 7.0-dev。

我还尝试在我的 windows 8.1 机器上使用 xampp 设置 drush,但遇到了同样的错误。

请帮助我,我整个周末都在尝试设置 drush,我真的很绝望:(

“omega-wizard”的完整错误消息

找不到 drush 命令“omega-wizard”。运行drush [error] cache-clear drush 清除命令文件缓存(如果有) 安装了新的扩展。 Drush 无法启动(引导)Drupal 数据库。 [错误] 提示:当 Drush 试图: * 引导一个尚未安装或没有 配置的数据库。在这种情况下,您可以选择另一个带有 通过指定要与 --uri 一起使用的 URI 来设置工作数据库 命令行参数。见drush topic docs-aliases 细节。 * 通过套接字连接数据库。套接字文件可能是 错误或 php-cli 可能无法在被监禁的 shell 中访问它。看 http://drupal.org/node/1428638了解详情。

Drush 试图连接到: Drupal 版本:7.31
站点 URI:http:// 默认
数据库驱动程序:mysql
数据库主机名:localhost
数据库端口:
数据库用户名:root
数据库名称:drupal1
PHP 可执行文件:/usr/bin/php
PHP 配置:/etc/php5/cli/php.ini
PHP 操作系统:Linux
Drush 版本:7.0-dev
Drush 临时目录:/tmp
Drush 配置:
Drush 别名文件:
Drupal 根目录:/home/trautmann/websites/mywebsite 站点路径:站点/默认

【问题讨论】:

标签: xampp drush


【解决方案1】:

哇哦,我找到了解决办法!

感谢 Nathan,我按照 drush sql-cli 提供的错误 'sh: 1: mysql: not found' 找到了这个:

http://www.webbykat.com/2012/06/solving-sh-mysql-command-not-found-mamp-pro-2 也就是说,我的 mysql 命令可能没有映射到正确的位置。

我通过将此行放入我的 .bash_profile 为 xampp 调整了解决方案

export PATH=$PATH:/opt/lampp/bin

然后轰隆隆!成功了:)

再次感谢内森

编辑: 另外,我发现 drush 需要使用你的 xampp 文件夹中的 php 可执行文件,你可以在你的 .bash_profile 中设置你的 PHP 路径

export DRUSH_PHP=/opt/lampp/bin/php

【讨论】:

  • 路径不是必需的恕我直言。 DRUSH_PHP 变量成功了。谢谢。
【解决方案2】:

要查看 drush 是否连接到您的站点,您应该转到站点的根目录进行单站点安装或转到站点特定目录进行多站点安装,然后运行“drush st”以查看您的站点是否已配置,这就是我得到的:

NY-MC-NB-NANDERSEN:muscleandfitness.com nandersen$ drush st

Drupal 版本:7.31
网站 URI:http://muscleandfitness.com
默认主题:花环
管理主题:花环
PHP配置:/Applications/MAMP/bin/php/php5.4.10/conf/php.ini Drush 版本:5.9
Drush 配置:
Drupal 根目录:/Users/nandersen/dev/drupal7-core/docroot
网站路径:sites/muscleandfitness.com
文件目录路径:sites/muscleandfitness.com/files

我正在运行这个

/Users/nandersen/dev/drupal7-core/docroot/sites/muscleandfitness.com

在多站点安装上

从我上面看到的情况来看,您的 drush 似乎没有找到您的站点并正确连接。

例如,如果我不在正确的目录中,我会在运行“drush st”时得到这个

NY-MC-NB-NANDERSEN:docroot nandersen$ drush st Drupal 版本:7.31
默认主题:花环
管理主题:花环
PHP配置:/Applications/MAMP/bin/php/php5.4.10/conf/php.ini Drush 版本:5.9
Drush 配置:
Drupal 根目录:/Users/nandersen/dev/drupal7-core/docroot

要测试您是否连接到数据库,您可以运行命令“drush sql-cli”,该命令将启动到当前引导的数据库。

要查看命令是否可用,例如“omega-wizard”,您只需输入“drush”,然后将其通过管道传输到 grep,然后是搜索词,因此“drush | grep wizard”,这将输出任何命令帮助文件中有向导。如果我忘记了命令,这就是我查看可用的 drush 命令的方式。由于您无法启用 omega,并且 omega 命令不可用,这表明您可能未正确连接到数据库。

【讨论】:

  • 您好,感谢您的快速帮助 :) 当我执行“drush st”时,我得到的列表与我的第一篇文章中的相同。当我执行“drush sql-cli”时,我得到“sh: 1: mysql: not found”。我可以通过 grep 找到 omega 命令,但是当我尝试“drush cc all”时,它告诉我没有找到 drupal 安装。
  • 本地域名和根目录是什么?你是从根目录运行命令吗?
【解决方案3】:

对于运行XAMPP的Windows环境,我在PATH环境变量中添加了C:\xampp\mysql\bin\,这样就可以找到mysql.exe了。

【讨论】:

    【解决方案4】:

    发出drush 命令时打开调试消息将给出更多关于什么不工作的信息。在无法运行mysql 的情况下,-d 选项将报告,以便您知道解决问题的方向。

    drush -d omega-wizard
    

    ...

    Drush 引导阶段:_drush_bootstrap_drupal_configuration() [0.1 [bootstrap] 秒,4.48 MB]

    sql 查询:选择 1; [0.16 秒,4.6 MB]

    执行:mysql --defaults-extra-file=/private/tmp/drush_aATUxP --database=drupal --host=localhost --silent /tmp/drush_JBBjco

    sh: mysql: 找不到命令

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 2020-10-03
      • 1970-01-01
      相关资源
      最近更新 更多