Php Symfony2(2.6.3),垃圾收集器和会话
我遇到了一个问题,就在基于Debian的发行版中,因为在CentOS 6.6中它没有发生,我不知道如何解决这个问题,除了将属性Php Symfony2(2.6.3),垃圾收集器和会话,php,symfony,session,garbage-collection,Php,Symfony,Session,Garbage Collection,我遇到了一个问题,就在基于Debian的发行版中,因为在CentOS 6.6中它没有发生,我不知道如何解决这个问题,除了将属性gc\u probability设置为0这会导致另一个问题。这就是我的配置如何查看config.yml: framework: session: # handler_id set to null will use default session handler from php.ini handler_id: ~
gc\u probability
设置为0
这会导致另一个问题。这就是我的配置如何查看config.yml
:
framework:
session:
# handler_id set to null will use default session handler from php.ini
handler_id: ~
cookie_lifetime: 86400
gc_maxlifetime: 600 # session will expire after 10 minutes of inactivity
gc_probability: 1
gc_divisor: 1
正如我前面所说,CentOS中的配置工作得非常完美,但在Debian中,它失败了,出现以下错误:
注意:SessionHandler::gc():ps\u文件\u清理\u目录:
opendir(/var/lib/php5)失败:权限被拒绝(13)
为什么??这是什么原因
在做一项研究时,我发现禁用该值会使错误消失,但如果我禁用该值,会话将永远不会过期,页面可能会打开数小时(我让它打开一整晚,第二天当我点击F5时,相同的会话仍然打开,这是一个安全漏洞)
有什么建议吗?解决?线索?Web服务器(?)用户没有权限访问/var/lib/php5,这是显而易见的。打开\u basedir active或使用fastcgi?@Paziツ 为什么Web服务器应该有权访问
/var/lib/php5
?无论如何,该目录在CentOS下不存在,它在哪里open_basedir
在/etc/php5/apache2/php.ini
中被注释(;分号),因此我认为是关闭的,而不是不使用fastcgi
会话。在基于debian的发行版中,save_path默认情况下是/var/lib/php5