所以应用程序没有缓存,我只是使用config.yml 中的默认框架设置
framework:
# ...
session: ~
查看
project/app/cache/prod/session
目录我看到了6个月前的会话文件,它导致了DISK FULL错误/问题。
如果我运行命令
df -h
如果我运行命令,磁盘空间看起来不错
df -i
我看到已满或几乎满
对于php.ini,它是所有默认设置,运行ubuntu 12.04 LTS和php 5.3.x
为什么垃圾回收系统不起作用?当我清除缓存时,它很好并进行了清理,但据我所知,会话应该在4小时后删除,有什么想法吗?
如果其他人有这个问题,这里是如何解决的:
以下是中配置的内容
- /etc/php5/apache/php.ini
- /etc/php5/cli/php.ini
- /etc/php5/fpm/php.ini
(三者相同)
session.gc_probability = 0
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
我还查看了
/etc/cron.d/php5
并且它应该使用该值session.gc_maxlifetime
来删除会话
# /etc/cron.d/php5: crontab fragment for php5
# This purges session files older than X, where X is defined in seconds
# as the largest value of session.gc_maxlifetime from all your php.ini
# files, or 24 minutes if not defined. See /usr/lib/php5/maxlifetime
# Look for and purge old sessions every 30 minutes
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -depth -mindepth 1 -maxdepth 1 -type f -cmin +$(/usr/lib/php5/maxlifetime) -delete
问题是我的会话不在标准位置,因此没有清理。
将框架工作会话save_path配置为:
/var/lib/php5
您也可以通过将该值设置为null将该值设为php.ini的save_path:
# app/config/config.yml
framework:
session:
save_path: null
文件:
- http://symfony.com/doc/current/reference/configuration/framework.html#gc-除数