我正在使用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" />
Run Code Online (Sandbox Code Playgroud)
然后,我想要一个phing任务,它接受这些值并用正确的属性替换我的wp-config.
我该怎么办?
谢谢
是的,我认为是.在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>
Run Code Online (Sandbox Code Playgroud)
此任务将config-sample.php(在wordpress发行版中提供)复制到config.php,通过正则表达式替换过滤器执行文件转换,从而将示例参数覆盖到您想要的值.
您可能还想配置其他参数,例如DB编码和整理,安全参数(至少那些),表前缀,语言......