草庐IT

php - 属性文件中的 Phing 属性应包含多个值

据我所知,属性文件中不可能有值数组。在属性中存储多个值的最佳解决方案是什么?例如属性文件的一部分#directorydefinitions#containinge.g.CSS,Javascript,...project.dirname_css=cssproject.dirname_js=javascript我想要的是一组属性,例如:#directorydefinitions#containinge.g.CSS,Javascript,...project.dirname_css=[css,portal_specific]project.dirname_js=[javascript,por

php - 你如何管理你的构建 [使用 Phing] 过程?

我正在尝试使用Phing来实现自动化:运行测试在每台开发人员机器上运行数据库迁移[使用dbdeply]在需要时部署到生产环境我认为在我的项目中添加一个构建文件夹并将我所有的构建配置文件和数据库增量放入该文件夹中确实有意义。并将所有这些提交到SVN存储库中。所以每个开发人员在从svncheckout时都会得到更新的构建文件。并能够运行构建以使用新更改更新他的数据库。在生产服务器上:我打算在那里添加另一个构建文件,以在svn中获取最新的标记版本并执行CSS和JS压缩。我还计划使用PHPUnderControl实现持续集成,这样我就可以跟踪每次构建的结果,并在构建失败时得到通知。那么,您认为

php - 使用phing部署不同的环境

我们正在使用phing来部署我们的php应用程序,但在部署我们的环境时遇到了一个小问题。我们有2个不同的生产环境(每个都有不同的配置文件)和一个单独的测试环境。我们对测试环境没有问题,因为我们有一个不同的测试环境分支。问题是我们在两个生产环境中使用相同的分支。有人对我们如何使用不同的配置/设置文件部署到我们的生产环境有建议吗?我们宁愿将生产分支保留为单个分支,但以某种方式将配置文件分开。我们使用zend框架,我知道我们可以在配置文件中包含不同的部分,但我们也有一个phing的设置文件。我环顾四周,但似乎找不到将命令行参数传递给phing的方法。像这样的东西可能真的很有用:phing-f

php - 如何在 phing build.xml 中使用现有的 phpunit.xml?

我有一个现有的phpunit.xml(phpunit的配置文件),如下所示:./tests作为DRY说,我不想简单地将phpunit.xml的内容复制并粘贴到我的build.xml以使用相同的配置运行phpunit。我在build.xml中的Phing目标如下所示:甚至那个phpunit应该会自动找到phpunit.xml(当我手动启动它就像在我的终端输入“phpunit”并按下enter,它工作)并使用它,在phing的情况下,输出看起来像这样:[phpunit]Totaltestsrun:0,Failures:0,Errors:0,Incomplete:0,Skipped:0,Ti

php - 为什么 PHP 不创建这个 zip 文件(权限问题)

我在windows上我正在使用PHING压缩一些文件我有很多东西正在压缩压缩有效,但压缩文件中包含特定phing文件集的除外调试时,我可以在phing的ZIP任务中看到ZipArchive::close返回false。错误字符串显示为“权限被拒绝”。在手册中,它指出close()是实际写入文件的内容。这不是时间耦合,换句话说,无论这是第一个、最后一个还是其他任何东西,它都会发生。所有其他的都有效。这个似乎没有什么不同。这是我的构建文件:http://pastebin.org/84786(有效期为一个月)问题出在第251行。它之前和之后的zip任务都工作正常。在调试器中,我可以看到大约1

php - Phing 未加载 .properties 文件

我有以下build.xml和build.properties文件:build.xmlbuild.propertiesdir.source=.dir.css=cssdir.build=build我希望我的输出是:cssbuild.但它是:{$dir.css}{$dir.build}{$dir.source}我是否配置不正确? 最佳答案 必须使用${property},而不是{$property}来显示属性。 关于php-Phing未加载.properties文件,我们在StackOverf

PHP:Phing、Phar 和 phar.readonly

我正在使用PHP构建系统phing创建一个phar归档文件。是否有任何已知的科学可以让我自动将phar.readonly设置为0(这将允许创建phar到知道)在phing运行期间,但在所有其他时间将其设置为0? 最佳答案 phar.readonly只能在PHP.INI中设置他们的文档说它可以通过ini_set()("phar.readonly"1"PHP_INI_ALL")设置,但它不能。$php-r"ini_set('phar.readonly',0);print(ini_get('phar.readonly'));"1个更新自h

php - 已安装 phing 但 "not found"且不在 pear 列表中

我正在尝试在CentOS上安装PropelORM,它依赖于phing。我已经成功运行了以下命令:pearchannel-discoverpear.phing.infopearinstallphing/phingpearinstallLog然而,当我按照Propeldocumentation中的描述运行./propel-gen时它因错误而失败:./propel-gen:line69:phing:commandnotfound但是,如果我检查是否安装了phing,它并没有出现在软件包列表中,但是如果我再次尝试安装它,它就会失败:$pearlistInstalledpackages,chan

php - 2 台云服务器,一名开发人员,一名生产人员;什么是好的部署流程?

我的网络应用目前正在使用LAMP堆栈。我的开发和生产在同一个云实例中。现在我得到一个新实例,并想将开发/测试环境移动到新实例,将其与生产环境分开。它曾经是一个简单的Phing脚本,可以将SVN导出到prod目录(由我的vhost.conf指向)。现在如何在环境分离的情况下进行良好的构建过程?考虑将SVN存储库传输到开发服务器,然后进行ssh+svn推送(这可以通过Phing实现吗?)此类设置的最佳/常见做法是什么?更多信息:我目前正在将CodeIgniter用于MVC框架,将Phing用于本地主机部署的自动构建。一些用Java编写的CRON脚本也支持网络应用程序。更新:最终使用了Phi

php - 将 PHP webapp 部署到 Elastic Load Balancer 后面的多个 EC2 实例

我的问题基本上是两个问题,但由于它们密切相关,我认为有必要全盘提问。案例:我正在运行一个网络应用程序,它分布在AWS弹性负载均衡器后面的多个AWSEC2实例上预期目标:a)当部署新的应用程序代码(php)时,它应该自动分发到所有EC2实例。b)添加新的EC2实例时,它们应该使用最新的应用程序代码自动“引导”到目前为止我的想法:广告一)phing(http://phing.info)可能是这部分的答案。我可能会为每个EC2实例添加多个目标,并且在运行部署时它会部署到所有机器。不幸的是,可能不是并行的。但是当以EC2实例在负载均衡器中“暂停”、升级、再次“取消暂停”并继续到下一个实例的方式