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

np8igboo  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(157)

**已关闭。**此问题为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内核类以使用新路径:

public function getCacheDir(): string
{
    if($this->environment=="dev"){
        return '/var/log/dev/cache'; //magic happens here

    }
    return dirname(__DIR__).'/var/'.$this->environment.'/cache';
}

public function getLogDir(): string
{
    if($this->environment=="dev"){
        return '/var/log/dev/log'; //and here
    }
    return dirname(__DIR__).'/var/'.$this->environment.'/log';
}

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

相关问题