1

我正在使用 Phing 将 wordpress 安装推送到我的生产服务器。是否可以在我的构建文件中定义 wp-config 属性,然后让 phing 替换 wp-config 内容以使用这些变量?

像这样:

<property name="prod.db_name" value="wordpress" />
<property name="prod.db_user" value="root" />
<property name="prod.db_password" value="toor" />
<property name="prod.db_host" value="prod.host.com" />

然后我想要一个接受这些值并用正确的属性替换我的 wp-config 的 phing 任务。

我该怎么做?

谢谢

4

1 回答 1

8

是的,我认为是的。在phing 文档中搜索,我找到了 CopyTask(附录 B)和 ReplaceRegexp 过滤器(附录 D2)。

尝试将此任务包含在您的构建目标中(在定义您的属性之后):

<copy file="./config-sample.php" tofile="./config.php">
  <filterchain>
    <replaceregexp>
      <regexp pattern="(define\('DB_NAME', ')\w+('\);)" replace="\1${prod.db_name}\2"/>
      <regexp pattern="(define\('DB_USER', ')\w+('\);)" replace="\1${prod.db_user}\2"/>
      <regexp pattern="(define\('DB_PASSWORD', ')\w+('\);)" replace="\1${prod.db_password}\2"/>
      <regexp pattern="(define\('DB_HOST', ')\w+('\);)" replace="\1${prod.db_host}\2"/>
    </replaceregexp>
  </filterchain>
</copy>

此任务会将 config-sample.php(在 wordpress 发行版中提供)复制到 config.php,通过正则表达式替换过滤器执行文件转换,从而将示例参数覆盖为您想要的值。

您可能还想配置其他参数,例如 DB 编码和整理、安全参数(至少是那些)、表前缀、语言...

于 2009-06-16T22:26:52.657 回答