Php session 文件权限

标签 php session permission-denied

我有文件 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
  • Ubuntu 11.10
  • Apache 版本:Apache/2.2.20 (Ubuntu)
  • PHP 版本 5.3.6-13ubuntu3.10

可能是什么问题?

最佳答案

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

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

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

    参见 session configuration in the PHP manual有关这方面的更多信息。

关于Php session 文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19906784/

相关文章:

PHP - json 不通过循环解析

database - YII2 : Can we configure session setting without using configuration file (main. php)

php - 如何用不同的ip捕获同一个用户

java - 无法在 grails 中的非请求渲染操作中使用 session

没有sudo的python setup.py安装

Android Q : java. io.FileNotFoundException:/proc/self/net/dev:打开失败:EACCES(权限被拒绝)

php - 在两个奇数日期选择中查找 NOW()

php - tcpdf 字体连字(英文)?

docker - Kubernetes NFS 持久卷权限被拒绝

php - 如何使用多个外键查询数据透视表 Laravel 5 Eloquent