【发布时间】:2011-06-28 19:38:59
【问题描述】:
我正在使用 ant 来复制文件并下载库来打包我们的版本以进行部署。我想知道是否有一种方法可以使用构建属性来生成系统可能使用的一些 config.php 文件。关于如何用 ant 完成此操作的任何想法?
【问题讨论】:
我正在使用 ant 来复制文件并下载库来打包我们的版本以进行部署。我想知道是否有一种方法可以使用构建属性来生成系统可能使用的一些 config.php 文件。关于如何用 ant 完成此操作的任何想法?
【问题讨论】:
你可以编写一个脚本来生成config.php并使用ant来执行脚本
我以前实际上没有做过类似的事情,但听起来很有趣。我建议也许使用某种模板(可以是 php 文件本身,也可以是 ini 文件)。
使用ini文件可以做得更好吗?我相信它们会更容易生成,并且 php 可以相当容易地读取它们。
使用http://it.php.net/manual/en/function.parse-ini-file.php 阅读,如果您查看 cmets,则有一些编写 ini 文件的示例。
因此您的脚本可以读取模板的 ini 文件,然后根据传递给脚本的参数进行更改,并在必要时保存 config.ini(如果您想采用生成的 php 文件路径,则保存 config.php) .
类似下面的蚂蚁任务(原谅我写得不好,我不是蚂蚁专家)
<target name="generateConfig">
<exec executable="php">
<arg value="generateConfig.php" />
</exec>
</target>
【讨论】:
php generateConfig.php 的 php 脚本(不是应用程序的一部分)。然后您的应用程序就可以使用它生成的 config.ini/config.php。
$argv
我建议你使用模板配置文件,并使用Replace Ant Task:
<replace file="${src}/path/to/config.php">
<replacefilter token="%db_host%" value="my_db_host"/>
<replacefilter token="%db_user%" value="some_user"/>
</replace>
【讨论】: