标签: phing

为什么PHP不会创建此zip文件(权限问题)

  • 我在窗户上

  • 我正在使用PHING压缩一些文件

  • 我有很多东西被压缩

  • 压缩工作,但在压缩文件中包含特定phing文件集的工作除外

  • 当我调试时,我可以在phing的ZIP任务中看到ZipArchive :: close返回false.错误字符串显示"权限被拒绝".在手册中声明close()是实际写入文件的内容.

  • 它不是时间耦合,换句话说,它发生在这个是第一个,最后一个或其他什么.所有其他的工作.这个似乎没什么不同.

这是我的构建文件:http://pastebin.org/84786(好一个月)

问题出在第251行.在它之前和之后的zip任务都可以正常工作.在调试器中,我可以看到大约150个文件被添加到zip中.我已经验证了调试器中所有正确的路径.

构建似乎在linux上运行良好.

当我右键单击zip文件所在的文件夹时,只读复选框为"蓝色",未选中或未选中.我保持选中或取消选中并按下确定并返回文件夹的属性,复选框再次为"蓝色".显然这是设计(http://support.microsoft.com/kb/326549),这似乎不是问题,因为它只发生在那个文件.

另一个奇怪的事情是,如果我转到第252行并将文件集更改为指向例如来自其上方"importer"模块的文件,则会创建zip.然而,第236行的.tar.gz相同的文件集证明每次都能正常工作.所以它只发生在zip任务的特定文件集中.该文件集适用于tar任务.实际上,在它下面的"package"注释下的所有任务也引用了那些文件,但tar.gz文件却没有.

是什么赋予了?

另外:新观察...在两台Windows机器上看起来如果我快速刷新文件视图我可以看到myzipfile.zip.tmp正在构建,但myzipfile.zip永远不会被创建.

在linux上我只是仔细检查了一切是否完美无缺.去搞清楚.

php phing file-permissions ziparchive

5
推荐指数
1
解决办法
2449
查看次数

我是否使用phing locale或remote?

我有一个与phing有关的问题.我是否在本地开发机器上使用它来部署应用程序,还是通过生产机器上的ssh调用它?我不知道从哪里做Eran Galperin的步骤(你首选的PHP部署策略是什么).我是部署脚本的初学者.所以请原谅:)

马尔科

php phing deployment ssh

5
推荐指数
2
解决办法
1176
查看次数

无法加载.properties文件

我有以下build.xml和build.properties文件:

build.xml

<?xml version="1.0" encoding="UTF-8"?>
<project name="CoolProducts" basedir="../"
         default="dev" description="CoolProducts front-end">
  <!-- set default config -->
  <property file="build/config/build.properties" />
  <target name="dev">
    <echo message="{$dir.css}" />
    <echo message="{$dir.build}" />
    <echo message="{$dir.source}" />
  </target>
</project>
Run Code Online (Sandbox Code Playgroud)

build.properties

dir.source = .
dir.css = css
dir.build = build
Run Code Online (Sandbox Code Playgroud)

我希望我的输出是:

css
build
.
Run Code Online (Sandbox Code Playgroud)

但它是:

{$dir.css} 
{$dir.build}
{$dir.source}
Run Code Online (Sandbox Code Playgroud)

我配置不正确吗?

php ant phing properties

5
推荐指数
1
解决办法
2258
查看次数

你如何管理你的构建[使用Phing]流程?

我正在尝试使用Phing进行自动化:

  • 运行测试
  • 在每台开发者机器上运行数据库迁移[使用dbdeply]
  • 在需要时部署到生产

我认为在我的项目中添加一个构建文件夹并将所有构建配置文件和db deltas放在该文件夹中是有意义的.并将所有这些提交到SVN存储库中.所以每个开发人员在从svn签出时都会获得更新的构建文件.并能够运行构建以使用新更改更新其数据库.

在生产服务器上:我打算在那里添加另一个构建文件,以获取svn中的最新Tagged版本并执行CSS和JS压缩.


我计划使用PHPUnderControl实现持续集成,因此我可以跟踪每个构建的结果,并在构建失败时收到通知.

所以,你认为这一切都有意义,或者你还有其他更好的建议吗?

php phing continuous-integration build phpundercontrol

4
推荐指数
1
解决办法
1212
查看次数

在Phing中**意味着什么?

Phing用户指南使用**文件过滤器的以下描述:

"两个星号(**)可能包含在目录分隔符的"边界"之上."

我很难解读这真正意味着什么.有人可以把它翻译成英文吗?

phing filter

4
推荐指数
1
解决办法
280
查看次数

如果条件,phing嵌套

我无法理解有关给定<if>标签的多个条件的Phing文档.它意味着除非使用<and>标记,否则不能有多个条件,但没有如何使用它的示例.因此,我嵌套了两个<if>标签,但是当我知道有更好的方法时,我觉得这样做很傻.有谁知道如何使用<and>标签来完成以下任务:

  <if><equals arg1="${deployment.host.type}" arg2="unrestricted" /><then>
    <if><equals arg1="${db.adapter}" arg2="PDO_MYSQL"/><then>
      <!-- Code Here -->
    </then></if>
  </then></if>
Run Code Online (Sandbox Code Playgroud)

我发现没有人对此有过任何经验,这让我感到非常惊讶.Phing是用PHP代替Java的'ANT'构建工具的实现.对于缺乏简单而强大的部署工具的PHP开发人员来说,它非常有用.Java能够将自包含的Web项目打包到单个文件中,或者将多个Web项目文件打包成更大的文件,这是一项了不起的功能.ANT或Phing并没有让PHP达到这一点,但它在正确的方向上迈出了明确的一步,并且比GNU Make曾经或将要更容易理解和使用.

ant phing deployment

4
推荐指数
1
解决办法
4682
查看次数

phing + sftp作为自动构建的一部分上传网站

有人知道在Phing构建中使用SFTP将文件上传到远程服务器的简单方法吗?我似乎无法找到自定义或本地Phing任务来执行此操作.另一个问题是SFTP unix命令的交互性(到达主机后需要密码等)

有任何想法吗?

php phing deployment build-automation sftp

4
推荐指数
1
解决办法
1560
查看次数

Phing String Manipulation

我有一个Phing项目,你传递参数.我想对这个参数执行简单的字符串操作,例如strtolower()或ucwords()等.任何想法我怎么能这样做?

phing

4
推荐指数
1
解决办法
2249
查看次数

如何在给出双引号和单引号的情况下执行phing任务

这是我希望执行的命令.

php -r "apc_clear_cache(); apc_clear_cache('user'); apc_clear_cache('opcode');"
Run Code Online (Sandbox Code Playgroud)

这是我对phing的尝试

<exec command='php -r "apc_clear_cache(); apc_clear_cache(\'user\'); apc_clear_cache(\'opcode\');"' outputProperty="result" />
Run Code Online (Sandbox Code Playgroud)

这就是我得到的

BUILD FAILED
Error reading project file [wrapped: /var/virtual/abc.com/build.xml:171:26: > required]
Total time: 0.2093 seconds
Run Code Online (Sandbox Code Playgroud)

请指教.

更新:

我写称为bash脚本解决我的问题RunApcClearCache.sh,运行

php -r "apc_clear_cache(); apc_clear_cache('user'); apc_clear_cache('opcode');"
Run Code Online (Sandbox Code Playgroud)

然后使用调用bash脚本 ./RunApcClearCache.sh

如果有更好的方法,我想听听.

我也不愿意为一件如此简单的事情写一个任务.当然必须有一种方法可以在exectask中正确地避开双引号.

php phing execute

4
推荐指数
1
解决办法
1958
查看次数

在 Phing 上执行命令时没有输出

我有以下构建文件:

<?xml version="1.0" encoding="UTF-8"?>
<project name="Example" default="test" description="Sample Description">
    <target name="test">
        <exec command="ls" dir="./" />
    </target>
</project>
Run Code Online (Sandbox Code Playgroud)

但是,Phing 似乎在不输出任何内容的情况下运行此命令:

Buildfile: /path/to/build/file/build.xml

Example > test:


BUILD FINISHED

Total time: 0.2106 seconds
Run Code Online (Sandbox Code Playgroud)

我怎样才能解决这个问题?

注意phpunit测试

phing

4
推荐指数
1
解决办法
756
查看次数