问题标签 [drush]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3205 浏览

drupal - 如何使用 drush make 将补丁应用到 drupal 核心

我正在拆卸一个基于 drupal 的现场站点。在编写 drush make 文件时,我发现对 contrib 模块和核心进行了一些修补。我可以使用 'patch' 选项指示 drush make 修补 contrib 模块。但我不能让它补丁核心。

我都试过了

没有成功,什么都不会改变。

有人可以给个提示吗?

0 投票
2 回答
469 浏览

drupal - drush 更新后对 menu_rebuild 的并行调用

任何人都知道为什么在成功的 drush 数据库更新后站点出现后可以多次调用 menu_rebuild ?在我跳下兔子洞之前?

更新:

为了澄清我正在使用 Pressflow。

特别是当我们运行更新时,会调用多个 menu_router 重建,从而导致重复键错误和最大连接超时。即使更新较小,也会出现前一个问题。

更新:为了减轻这种情况,是否有一种非黑客方法来增加 menu_rebuild 使用的锁定超时?它调用没有参数的函数,默认为 30 秒,我们希望增加它。

0 投票
1 回答
1248 浏览

drupal - 更改解释器 bash 脚本

有什么方法可以在 bash 脚本中间更改解释器

例如开始:

稍后更改为:

原因是因为我想使用 bash 来使用 bash 解析 drush 的位置,然后将该 var 作为解释器传入

0 投票
1 回答
2491 浏览

drupal - Drush 状态:由 hook_init() 中的 drupal_goto() 引起的不可恢复错误

我有一个带有 drupal_goto() 的模块,如果用户没有通过 hook_init() 中的年龄要求(葡萄酒网站),它会重定向用户。该模块设置了较重的重量,因此最后加载。

在 PHP 5.3 上,快速更新失败。使用 PHP 5.2 的不同服务器上的相同代码和数据库运行良好。

Drush 版本:7.x-4.4 PHP 版本:5.3 示例:

当我运行: drush status 时,我得到一个错误。这是带有调试和详细标志的输出。

现在的问题是:为什么 drupal_goto() 会导致 drush 在 PHP 5.3 服务器而不是 PHP 5.2 服务器上失败。

0 投票
2 回答
561 浏览

ssh - 如果您使用 SSH 在服务器上执行程序,在我断开连接后它会继续运行吗?

我想要做的是连接到我的服务器并让 Drush(一个 Drupal 命令行程序)运行一个命令来启动大型数据导入。为此,我需要先通过 SSH 连接到服务器。所以我会执行 Drush 调用。然后我希望能够关闭我的电脑然后走开。

如果我这样做,它会继续运行吗?有人向我建议,我可以在命令末尾加上一个 & 号,它会将命令置于后台。那会奏效吗?

我之所以问而不是仅仅测试是因为这将是大量数据,并且我不想在完全准备好将其放在服务器上之前启动它。

想法?

0 投票
2 回答
712 浏览

git - Drupal 部署:如何处理数据库?

我花了两天时间阅读关于 SO、博客文章、论坛等的问题。

大多数信息都是旧的。

我正在使用 Drupal 7(带有 Drush)和 GitHub 在我的 Ubuntu 机器上构建一个站点,用于存储库托管。我可以通过 SSH 访问生产服务器。

在我交付网站的第一个版本后,我将不得不添加功能并修复错误。

一位朋友告诉我将我的 SQL 文件存储在 repo 中,然后从那里开始。

我的问题是:最好的方法是什么?有没有一个好的做法建议?

谢谢!

0 投票
1 回答
665 浏览

drupal - 通过 Drush up 命令更新了 Drupal。现在我有一个 Server 500 错误

我在本地机器上安装了 Drupal。Ran Drush up 命令更新核心文件。现在我得到一个 Server 500 错误。在我运行 drush 之前,我的 drupal 安装文件夹权限如下所示:

运行 drush up 后,它们看起来像这样:

我承认我对 chmod/chown 或如何解决此问题不是非常熟悉,但我确信它与文件夹/文件权限有关。任何帮助将不胜感激。

0 投票
3 回答
777 浏览

php - 用于更新服务器上多个 Drupal 站点的管理员用户密码的 Bash 脚本分布在多个版本上

我有一台运行相当多的 Drupal 站点的服务器。其中一些较旧并运行 Drupal 5,而另一些较新并运行 Drupal 6。我们也开始实施 Drupal 7。

我们的组织使用一个标准的网站管理密码,我们仅在内部分发给我们的员工以维护这些网站。这可能是也可能不是最好的安全实践,但这是我们目前做事的方式。请假设这不会改变。

我们遇到的问题是,当我们有员工流动时,我们必须更改此密码并将更改应用于我们运行的每个站点,以确保员工无法破坏我们客户的任何站点。这对于解雇来说更为关键,但我们也将其作为最佳做法用于辞职。

过去,我运行了一个基本的 PHP 脚本,它在我们的数据库服务器上使用 mysql_list_dbs 来遍历每个数据库,并更改用户表中 name = admin 的 pass 字段。基本上:

这工作得很好,但它有两个问题:

  1. 这是hacky,我讨厌hacky的东西。我宁愿做利用“官方方式”做事的事情
  2. Drupal 7 使用与 D5 和 D6 不同的散列系统,因此这不适用于 Drupal 7 站点。现在我必须在更新之前首先检查 pass 的现有值是否与旧密码的哈希匹配,这样我就不会意外破坏 Drupal 7 站点。与此同时,我还没有想出如何为 Drupal 7 站点实现这一点。

所以我正在寻找替代解决方案。我真的认为我需要使用一个 bash 脚本,它要么从 httpd.conf 遍历虚拟主机,要么使用 find 或其他方式,以一种或另一种方式,cd 进入非常安装平台的“站点”文件夹中的每个站点安装目录(我们有一个相当混乱的设置*)并运行 drush upwd admin --password=$newpassword

这将完全独立于平台,并允许 Drupal 定义更改密码时会发生什么。

我意识到 Aegir 实际上可能是一个很好的解决方案,但我们还没有准备好实施 Aegir,我正在寻找更多快速和肮脏的中间解决方案。感谢您提供的任何意见。

*只是我们凌乱设置的一个示例:

......等等......你明白了。迁移到 Aegir 是有序的,但需要一段时间才能清理干净。

0 投票
1 回答
6835 浏览

drupal - “未定义的属性:stdClass”

当将 Pressflow 添加到我们的 Drupal 安装时,突然出现此错误。它来自一个自定义模块,在 Pressflow 之前似乎可以正常工作。添加 Pressflow 后,运行 Drush 会导致此错误显示在屏幕上。

被识别为错误源的函数如下所示:

错误消息如下:

WD php:注意:未定义的属性:stdClass::$user_location_pref in user_search_location_get()

0 投票
3 回答
1904 浏览

python - Drush commands not executing using Paramiko

I've followed the steps here http://jessenoller.com/2009/02/05/ssh-programming-with-paramiko-completely-different/

to connect to my server with ssh via Python. I can connect fine and send commands.

When I run stderr.readlines(), however, it shows me the error message below every time, even if the command seems to have executed correctly. I've closed the connection and restarted Python, and still the same result.

Here's a Python sample:

I have drush installed and it seems to work fine. If I type in "which php" on the server I'm told where it resides, instead of the error message above. I sent some other commands to purposefully get an error message to see if it cleared anything out. Instead it tacked things on at the end.

Following the error message, I went and looked at the drush file referenced. Here's line 89:

I believe the "which php" command comes from the $php variable in the chunk above this line

The full text of the file is here: http://pastebin.com/29AXmHKF

I get the same error if I try to execute any drush command. But drush commands work fine if I just log myself into the server directly w/o using python/paramiko.