使用Symfony2更改cache_dir和log_dir

Oli*_*hti 13 configuration logging caching symfony

由于部署限制,我希望我的Symfony2应用程序在我的文件系统中的/ var/...下使用日志和缓存目录.出于这个原因,我正在寻找一种方法来配置Symfony并覆盖这两个目录的默认位置.

我见过kernel.cache_dir和kernel.log_dir并读取了类Kernel.php.从我所看到的,我不认为可以通过配置更改目录位置,我将不得不修补Kernel.php类.

这是真的,还是有办法在不修改框架代码的情况下实现我想要的东西?

nuq*_*qsa 18

将以下方法添加到app/AppKernel.php(AppKernel扩展内核),使它们返回您的首选路径:

public function getCacheDir()
{
    return $this->rootDir . '/my_cache/' . $this->environment;
}

public function getLogDir()
{
    return $this->rootDir . '/my_logs';
}
Run Code Online (Sandbox Code Playgroud)


Mon*_*roM 8

我很高兴找到你的帖子,但我对这些不合适的答案感到有些困惑.

我遇到了同样的问题,发现日志取决于配置参数 kernel.logs_dir.

所以我把它添加到我的config.yml参数中:

kernel.logs_dir: /var/log/symfonyLogs
Run Code Online (Sandbox Code Playgroud)

如果它的答案很晚,我希望它对你有帮助.


Ren*_*hle 6

我认为最简单的方法是将文件夹链接到另一个地方.我们已经在prod服务器上做了这个,但是当你在windows上开发本地时,设置符号链接有点复杂.

ln -s /var/cache/ /var/www/project/app/cache
Run Code Online (Sandbox Code Playgroud)

这样的事情.