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/5398746/

相关文章:

api - 以Magento为主要工具,并创建一个单一登录即可与其他第三方软件集成

session - Wicket 口 session

javascript - 未捕获的语法错误 : Unexpected token in JSON at position 0

php - 是否可以使用简单的 php 获取 URL 斜杠/参数?

php - 使用 PHP 的谷歌分析 API v4。排序输出

session - 从远程 session 获取完整的堆栈跟踪

node.js - Passport JS 和 Restify 以及客户端 session

php - 使用 docker 和 laravel 的 GitLab CI 无法连接到数据库

php简单dom解析器返回 "Array"

php - 如何在php中的if语句中添加多个条件