首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Windows 7中使用Rsync部署Symfony Projekt -权限问题

在Windows 7中使用Rsync部署Symfony Projekt -权限问题
EN

Stack Overflow用户
提问于 2010-11-04 23:15:19
回答 2查看 950关注 0票数 0

我正在拼命地尝试使用Rsync部署我的Symfony应用程序。

我安装了cwRsync,它在某种程度上是有效的,至少SSH是有效的。我的应用程序位于E:\xampp\htdocs\MyProject。

Rsync实际上在我的服务器上创建了一个目录,但除此之外,我只得到权限错误。

现在,这似乎是一个常见的问题,但是我不能实现任何解决方案,比如这个:cwRsync ignores "nontsec" on Windows 7

我将cwRsync安装到以下目录: c:\cwrsync

我的问题是:我的fstab文件需要看起来像什么,我甚至必须将它放在哪里?这个问题还有其他的解决方案吗?

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2010-11-07 23:08:10

我已经发布了你提到的那个问题。为了让symfony project:deploy在windows7上运行,我最终做了以下工作(它需要对symfony进行一些修改,所以它可能不是最优的解决方案)。有了这个解决方案,你不需要安装完整的cygwin,你只需要cwRsync。

在您的fstab中,添加以下行(fstab应位于[cwrsync install dir]\etc下):

代码语言:javascript
复制
C:/wamp/www /www ntfs binary,noacl 0 0

这实际上将windows文件系统上的"C:\wamp\www“映射到cygwin的"/www”。

修改symfony/lib/task/sfProjectDeployTask.class.php

代码语言:javascript
复制
protected function execute($arguments = array(), $options = array())
{
  ...
  $dryRun = $options['go'] ? '' : '--dry-run';

  // -- start hack --
  if(isset($properties['src']))
    $src = $properties['src'];
  else
    $src = './';

  $command = "rsync $dryRun $parameters -e $ssh $src $user$host:$dir";
  // -- end hack --

  $this->getFilesystem()->execute($command, $options['trace'] ? array($this, 'logOutput') : null, array($this, 'logErrors'));

  $this->clearBuffers();
}

这允许您在properties.ini中指定附加的src字段

代码语言:javascript
复制
src=/www/myProject

这样做可以使windows和cygwin之间的整个文件系统映射更清晰地定义。Cygwin (和cwRsync)比windows路径(即/wwwC:/wamp/www)更好地理解unix路径,所以这样做可以让一切正常工作。

票数 0
EN

Stack Overflow用户

发布于 2010-11-14 19:02:09

运行脚本

我认为在Windows和Linux之间进行同步时,Rsync总是破坏您的文件权限。

不过,您可以很容易地创建一个脚本,在同步之后遍历您的文件,并使用chmod重置文件权限。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4098122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档