【问题标题】:Fail to clear cache with Symfony on Vagrant无法在 Vagrant 上使用 Symfony 清除缓存
【发布时间】:2014-06-28 12:27:50
【问题描述】:

我在 Windows 上使用 Vagrant,并在 PuPHPet(Debian 7 和 PHP 5.4)上创建了一个盒子。我用 Symfony 2 安装了一个新项目,清除缓存时出现了一些错误,例如“无法重命名”或“无法删除目录”。

我使用了默认配置,但也尝试过:

  • 启用 NSF

  • 按照Symfony guide 上的“设置权限”部分进行操作

  • 将 www-data 指定为 /var/www 的用户/组

  • 将 vagrant 更改为 apache 用户/组

什么都没有改变,仍然是同样的错误。

如何使用 Vagrant 对 Symfony 的缓存设置正确的权限?

谢谢

【问题讨论】:

  • 当您将 vagrant 更改为 apache user/group 时,您还应该将 vagrant 指定为您的 /var/www 的用户/组(如果您之前已将其更改为 www-data)。
  • 我不熟悉 PhPHPNet.. 但我假设您使用的是同步文件夹。你流浪文件是否包含所有者:“www-data”,组:“www-data”,mount_options:[“dmode = 755,fmode = 644”]。您也可以尝试使用 ["dmode=777,fmode=777"]。您可以在 windows 机器上配置 symfony 控制台命令并从 windows 执行。如果不能,也尝试以 root 身份从虚拟盒中删除缓存中的文件夹(例如 old_dev ),这可能是 vm 提供程序的错误(例如 virtualBox 的问题)
  • 我尝试了 mount_options: ["dmode=777,fmode=777"] 仍然是同样的问题。如果我从 Windows 清除缓存,Symfony 会出现另一个错误,它混合了 Windows 和 Linux 路径:“ContextErrorException: Warning: file_get_contents(E:/www/test/app/Resources\views/base.html.twig): failed打开流:/var/www/test/vendor/symfony/symfony/src/Symfony/Component/Templating/Storage/FileStorage.php 第 32 行中没有这样的文件或目录”
  • 我也刚刚尝试过类似的设置(本地 vmbox),当源存储在 Windows 上时,我遇到了很多 symfony 问题。很难将它们全部计算在内。 symfony 缓存相关的类和其他类也有类似 if ( PHP_WINDOWS_VERSION_BUILD ) { ; }(如果我们需要混合不同的文件系统,这看起来不太好)
  • 对我有用的唯一“解决方案”是在 Windows 上拥有文件(未同步)并使用通常随 IDE 提供的自动部署/同步工具。

标签: symfony vagrant


【解决方案1】:

PHPStorm(有社区版)具有自动上传功能,我成功​​地将其用于 Vagrant 文件共享。但是,您需要禁用 Vagrant 的文件共享(NFS 无论如何都不能与 Windows 一起使用)。

这是一个同步,因此您需要从盒子内部清除缓存。


设置 > 部署(设置页面的路径取决于 IDE 版本)添加部署服务器:

连接选项卡:

Type: SFTP
Host: box IP
Port: 22
Username: vagrant
Password: vagrant

如果我没记错的话,PuPHPet 会禁用密码登录以支持密钥 基于访问,因此请使用适当的方法(密钥已公开存储在 puphpet 的仓库中)。

映射选项卡:

Local path: project root locally
Deployment path: project root in box

设置 > 部署 > 选项:

Upload automatically: Always
Upload external changes: Yes
Delete target items when source does not exist: Yes

有适用于 Windows 的 NFS Vagrant 插件,但截至 2015 年 3 月我无法让它运行。

还有来自 Vagrant 的 rsync 同步方法,它也提供一种同步方式,但我更喜欢 PHPStorm 的自动上传。

【讨论】:

  • 真的很有帮助。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-27
  • 2020-06-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 1970-01-01
相关资源
最近更新 更多