簡體   English   中英

Php會話文件權限

[英]Php session files permissions

我有文件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. 使用特定文件夾進行會話,例如/ tmp / php_sessions。 出於安全考慮,這既是保持良好的家務。

  2. 嘗試在session.save_path中指定文件模式。

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

    有關詳細信息,請參閱PHP手冊中的會話配置

session.save_path = "D:/wamp/tmp"
<br>
D:/wamp/tmp  Change Temp Directory Or Give Permission up in this directory
<br>
PHP Cannot Access to This folder in Your Server...
<br>
D:/wamp/tmp !!! is Sample Directory

查找session.save_path或更改Access ...

嘗試將不同的文件夾設置為www-data並將保存路徑設置為該數據庫

還看看你的php中是否有umask設置。 我是否如此設置為022

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM