Virtualbox shared + Symfony =“文本文件忙碌忙”[已关闭]

np8igboo  于 2023-11-22  发布在  其他
关注(0)|答案(1)|浏览(233)

**已关闭。**此问题为not about programming or software development。目前不接受回答。

此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
18天前关门了。
Improve this question
我有一个Linux虚拟机(Ubuntu)并创建了一个共享目录(/var/www/MYWEBSITE)
安装了Symfony,现在当它试图清除缓存时,我遇到了一个问题:“操作不允许”或“文本文件忙碌忙
从终端调用“bin/console cache:clear”也会出现同样的错误
sudo bin/console cache:clear”-同样的错误,所以我认为这不是权限问题
手动删除该高速缓存文件或整个目录(即从文件管理器)对每个用户都很有效(尝试root/user/www-data)
看起来这个问题与Virtualbox文件系统有关,但我不确定

xkftehaa

xkftehaa1#

解决方案:https://reddingitpro.com/2022/02/10/vagrant-symfony-log-files/
由于Vagrant在虚拟环境和物理Windows主机之间Map这些文件夹的方式,可能会有很大的延迟
最简单的处理方法是将该高速缓存/日志目录移动到DEV模式的另一个(非共享)位置:
编辑Symfony内核类以使用新路径:

  1. public function getCacheDir(): string
  2. {
  3. if($this->environment=="dev"){
  4. return '/var/log/dev/cache'; //magic happens here
  5. }
  6. return dirname(__DIR__).'/var/'.$this->environment.'/cache';
  7. }
  8. public function getLogDir(): string
  9. {
  10. if($this->environment=="dev"){
  11. return '/var/log/dev/log'; //and here
  12. }
  13. return dirname(__DIR__).'/var/'.$this->environment.'/log';
  14. }

字符串
当Symfony环境被配置为“dev”时,此代码将专门为缓存和日志文件使用新的/var/log/dev目录。否则,它将使用默认位置,例如在生产环境中,希望您没有在虚拟机设置中运行它

展开查看全部

相关问题