我将Symfony2用于一个关键应用程序。对于每个客户端(浏览器中的每个选项卡都是客户端)JS通过AJAX每秒请求数据。 而文件夹/缓存/ dev / profiler /增长非常快! 17Gb连续2天!如何禁用此写作?
答案 0 :(得分:18)
config_dev.yml中有选项
framework:
profiler: { only_exceptions: true }
这是假的,现在一切正常。
答案 1 :(得分:1)
检查您的环境是否在开发(开发)模式下运行,如果是,请确保它在prod(生产)上。 在开发模式下,很多进程都是出于调试原因而进行的,这对您的客户来说并不需要。
如果您想要禁用分析器,您可以执行此操作
在:app/config/config_dev.yml
web_profiler:
toolbar: true
only-exceptions: true
intercept_redirects: false
答案 2 :(得分:1)
我的解决方案
* * * * * root cd /path/to/project/src/var/cache/dev/profiler && sed -i ':a;$q;N;101,$D;ba' ./index.csv && ls -1t | tail -n +102 | xargs rm -rf
其中:
sed -i ':a;$q;N;101,$D;ba' ./index.csv
删除index.csv中的所有行,最后100条除外。(新的转储存储在最后)
ls -1t | tail -n +102 | xargs rm -rf
会按照修改日期删除所有文件夹和文件(最新的100个除外)。
102-占用index.csv
答案 3 :(得分:0)
这是一个更好的解决方案,感谢SncRedisBundle,您可以将分析器数据存储在Redis中,它们已经实现了 profiler_storage 。
他们还添加了TTL,因此您的分析器数据可以自动过期。
首先在config.yml中配置您的snc_redis客户端
snc_redis:
clients:
default:
type: predis
alias: default
dsn: redis://localhost
然后在config_dev.yml中添加探查器存储
snc_redis:
profiler_storage:
client: default
ttl: 86400