我已经发布了你提到的那个问题。这是我最终为使 symfonyproject:deploy
在 Windows 7 上工作而做的事情(它需要稍微修改一下 symfony,因此它可能不是最佳解决方案)。使用此解决方案,您不需要安装成熟的 cygwin,只需要 cwRsync。
在您的fstab
中,添加此行(fstab 应位于 下 [cwrsync install dir]\etc
):
C:/wamp/www /www ntfs binary,noacl 0 0
这实际上将 Windows 文件系统上的“C:\wamp\www”映射到 cygwin 的“/www”。
修改symfony/lib/task/sfProjectDeployTask.class.php
:
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();
}
这允许您在 中指定一个附加src
字段properties.ini
:
src=/www/myProject
这样做可以更清楚地定义 windows 和 cygwin 之间的整个文件系统映射。/www
Cygwin(和 cwRsync)比 windows 路径(即vs. )更好地理解 unix 路径C:/wamp/www
,所以这样做可以让一切正常工作。