我最近升级到PHP 5.3,从那时开始,我收到(零星)错误消息,指示Apache(或者可能是会话文件的清理者)对存储会话的文件夹没有权限。 这是随机发生的,无法通过精确的步骤进行复制,这使我猜测它是会话清除程序。 任何人都有此类错误的经验吗?
错误消息(session_start()在行上触发)是:
session_start()
ps_files_cleanup_dir:opendir(/ var / lib / php5)失败:权限被拒绝。
会话目录上的ls -ltr给出:
drwx-wx-wt 2 root root 4096 2010-05-25 12:39 php5
在此目录中,我确实看到了www-data拥有的会话文件,这是我的Apache,该应用程序运行正常。这让我想知道,会话GC在哪个用户下运行?
解决方法: 在您php.ini设置session.gc_probability为0
php.ini
session.gc_probability
0
*我相信我在这里找到了答案 *的原因 http://somethingemporium.com/2007/06/obscure-error- with-php5-on-debian-ubuntu-session-phpini- garbage
本质上,垃圾收集设置为由某些系统(例如Ubuntu / Debian)上的cron作业完成。一些php ini可执行文件(例如php- cli)也尝试进行垃圾回收,这会导致您得到错误。