PHP会话文件权限

2024-04-03

我有文件index.php:

<?php    
session_start();
$_SESSION['favcolor'] = 'green';

我得到结果:

Warning: session_start() [function.session-start]: open(/tmp/sess_a8njkmbcg3lbkvl7f2hhjchjm5, O_RDWR) failed: Permission denied (13) in /var/www/test.local/index.php on line 9
Warning: Unknown: open(/tmp/sess_a8njkmbcg3lbkvl7f2hhjchjm5, O_RDWR) failed: Permission denied (13) in Unknown on line 0
Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0

php.ini

root@savpc:/etc/php5/apache2# cat php.ini | grep '^session'
session.save_handler = files
session.save_path = "/tmp"
session.use_cookies = 1
session.use_only_cookies = 1
session.name = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.cookie_httponly =
session.serialize_handler = php
session.gc_probability = 0
session.gc_divisor = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.entropy_length = 0
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5

在文件系统中我得到的文件奇怪的权限:

root@savpc:/tmp# ls -al | grep 'sess' 
----------  1 www-data www-data  2106 2013-11-11 19:21 sess_7cvcojv36n6se6mkrqmui7tu707u9avb
----------  1 www-data www-data    21 2013-11-11 19:23 sess_a8njkmbcg3lbkvl7f2hhjchjm5
----------  1 www-data www-data  1040 2013-11-11 19:21 sess_gllhhosb9dur0jdvf13lqe5klmebj1k9
----------  1 www-data www-data  2106 2013-11-11 19:21 sess_m8c788u0jssqg1gqjeonafk0er5jnbsk
  • 乌班图11.10
  • Apache 版本:Apache/2.2.20 (Ubuntu)
  • PHP版本5.3.6-13ubuntu3.10

问题出在哪里?


  1. 使用会话的特定文件夹,例如 /tmp/php_sessions。这既是良好的内务管理,也是出于安全原因。

  2. 尝试在 session.save_path 中指定文件模式。

    session.save_path = "0;0600;/tmp/php_sessions"
    

    See PHP手册中的session配置 http://php.net/manual/en/session.configuration.php#ini.session.save-path欲了解更多信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP会话文件权限 的相关文章

随机推荐

  • 如何让现有分支跟踪远程分支?

    我正在尝试使用以下命令跟踪现有分支到远程分支 track or set upstream to 但出现以下错误 git branch track master origin master fatal A branch named maste
  • qml 无框窗户的阴影

    我有无框主窗口 由 qml 创建 ApplicationWindow 在我的 main qml 文件中 我通过以下方式实例化 qmlQQmlApplicationEngine load Qt5 1中引入的类 如果我设置Qt Frameles
  • 深度优先搜索 (DFS) 与广度优先搜索 (BFS) 伪代码和复杂性

    我必须为计算连接数量的算法开发伪代码 给定顶点 V 和边 E 图中的分量 G V E 我知道我可以使用深度优先搜索或广度优先搜索来计算连接组件的数量 但是 我想使用最有效的算法来解决这个问题 但我不确定每个算法的复杂度 下面是用伪代码形式编
  • Xcode 8 Shell 脚本调用错误

    I m trying to fix this issue for hours but it still persists Tried everything on the forums nothing helped I m using Coc
  • C#,使用 zlib 解压缩流

    我正在尝试解压缩字节数组 byte bloc 120 156 211 97 144 76 247 142 98 228 98 0 2 70 101 6 166 8 16 131 133 131 145 129 209 134 129 133
  • shell 解析一行来查找某个标签

    我计划创建一个简单的脚本来根据属性文件中存储的值编辑文件 所以本质上我计划循环遍历原始文件中的每一行 当它遇到一行中的某个标签时 比如 它将获取该标签后面的文本 即证书 然后实现一个函数来解析属性文件获取某些值并将它们添加到原始文件中 例如
  • HTML5 的子集或约束可以完美映射到 XHTML5,反之亦然?

    我需要在 a 中表示内容通用语 也就是说 在当今时代 HTML5标准 我的目标不是在网络浏览器中显示页面 我需要代表仅有内容 没有界面 没有布局 没有逻辑 没有Javascript 正如所记得的其他问题 https stackoverflo
  • 如何枚举所有HID设备? C#

    我需要枚举连接到我的 PC 的所有 HID 设备 我尝试使用这个答案 https stackoverflow com a 3331509 902424 但它枚举了 USBHub 设备 但我在那里找不到我的 HID 设备 EDIT 我很高兴知
  • TCP recvfrom() 不存储“from”

    我正在使用 TCP 制作一个服务器程序 我想获取我刚刚收到的消息发送者的 IP 地址 这是我的代码 case FD READ Incoming data get ready to receive char buffer DEFAULT BU
  • 如何让 jquery 拖动在移动设备上工作?

    我有一个应用程序 允许用户拖动一些图像 它使用jquery 我试图让它在移动设备上工作 在iPhone上 如果我拖动图像 那么它会拖动整个页面 我想使用 jquery 移动 这是正确的方法吗 如果是这样 从常规 jquery 过渡到 jqu
  • 使用查询结果作为表名

    如果我们有如下表 A Table 如何执行涉及以下值的查询A table作为表名 我的意思是这样的 SELECT Table as tbl FROM A SELECT FROM tbl 但在一份声明中 SQLite没有内置的动态构造SQL语
  • Gephi 中的平行边是什么?导入边列表时如何处理它们?

    当我导入 gexf 文件时 它会标记一堆平行边 我不知道什么是平行边以及为什么我的图表存在问题 我正在尝试创建一个动态 gephi 图 如果一对两个节点之间有多条边 这些边彼此平行 因此它们是平行边 Gephi 中无法表示平行边 因此 Ge
  • Github 错误:找不到存储库(是的,还有另一个)

    我在这里搜索并阅读了大多数类似的问题 但似乎没有一个与我的相同 我在 Github 上有一个私人仓库 一个小时前我可以很好地推送 现在 我收到错误 未找到存储库消息 我的 ssh config 中有以下内容 Host github Host
  • GitHub:我为什么要分叉?

    我知道分叉是在服务器端克隆存储库 但我不明白为什么我要这么做 为什么不将原始存储库克隆到我的计算机 添加我的代码 而不是将新分支推送到 GitHub 并发出拉取请求 我知道分叉是在服务器端克隆存储库 差不多是这样吧 在 GitHub 上 分
  • JQuery 将变量从 href 传递到 load()

    我试图在 JQuery 中将 href id 传递给 load 我可以从警报中看到返回的 id 960 所以我知道 id 值已经过去了 我只是不知道如何附加加载 url refreshme add id 是重要的部分 我用它来刷新数据库拉取
  • 检查具有关联的对象

    我有两个模型 其中 A has many B 如果我加载 A 包括关联的 B a A find first include bs a inspect只显示a的属性 gt a 我能怎么做a inspect这样它就会显示所有关联的a bs 默认
  • Android 旋转位图而不进行复制

    有没有办法旋转位图而不复制它 或者也许是保存位图的图像视图 现在我有类似的东西 Bitmap bm BitmapFactory decodeFile get the orientation Matrix m new Matrix m pos
  • Linux 内核的静态调用图生成

    我正在寻找一个工具来静态生成 Linux 内核的调用图 对于给定的内核配置 生成的调用图应该是 完整的 即包含所有调用 包括潜在的间接调用 我们可以假设在 Linux 内核的情况下只能通过使用函数指针来完成调用 例如 这可以通过分析函数指针
  • pytest。使用堆叠参数化装饰器时定义预期结果的最佳方法?

    我有两个类似的测试用例 每个都有超过 100 行代码 这些代码为测试创建辅助对象 这些行非常相似 事实上 测试设置之间只有 2 行不同 我不想删除这些代码重复 我认为多个参数化可能会帮助我完成这项任务 使用多个参数化 我可以将设置组合起来
  • PHP会话文件权限

    我有文件index php