php - PHP 5.3 和 session 文件夹的问题

标签 php session

我最近升级到 PHP 5.3,从那以后我收到(零星的)错误消息,表明 Apache(或者可能是 session 文件的更清洁者)对存储 session 的文件夹没有权限。
这是随机发生的,无法通过精确的步骤重现,这让我猜测它是 session 清理器。
有人遇到过此类错误吗?

错误消息(在 session_start() 行上触发)是:

ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied.

session 目录上的ls -ltr给出:

drwx-wx-wt  2 root          root          4096 2010-05-25 12:39 php5

在这个目录中,我确实看到了属于我的 Apache 的 www-data 拥有的 session 文件,并且该应用程序运行良好。 这让我想知道,session GC 在哪个用户下运行?

最佳答案

修复:在您的 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)也尝试进行垃圾收集,这会导致您遇到错误。

关于php - PHP 5.3 和 session 文件夹的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2904862/

相关文章:

PHP session_start() 函数 : Why I need it everytime I use anything related to PHP sessions

javascript - AJAX jquery json发送数组到php

php - Laravel 为商店进行设置

php - 只需要在 JSON 输出中显示数组值

node.js - 为什么每次关闭浏览器时我的 session 都会过期?

java - Hibernate:使用单例 session 写入日志(无刷新)

session - RPX 代币 URL 问题

ruby-on-rails - rails : sign out logged in user on event

php - 从另一个数据库获取数据

php - HTML 字符串中所有字符的字符数,但仅测量 20 个可见单词