簡體   English   中英

PHP不會填寫會話文件

[英]PHP doesn't fill in session files

我今天遇到了一個奇怪的問題。 我在這里掃了所有的問題,但沒有一個解決了我的問題。

當我使用session_start()啟動會話時,會創建格式為sess_xxxxxxxx的會話文件,但會話變量不會寫入文件中。

為了確保我做了一些測試,找不到任何問題。 例如以下代碼

<?php

$path = '/var/lib/php5/sess_aq2ctf49sa0jtplbaqqanqogt3';
foreach( array('file_exists', 'is_dir', 'is_readable', 'is_writeable') as $fn ) {
  $rc = $fn($path);
  echo $fn, ': ', $rc ? 'true' : 'false', "<br />\n";
}

版畫

file_exists: true
is_dir: false
is_readable: true
is_writeable: true

所以我看到沒有文件權限的問題。 但是,如果我運行一個非常簡單的腳本如下

<?php
  session_start();
  $_SESSION['test'] = "Session test";
  echo $_SESSION['test'];
?>

我只獲得空的會話文件

drwx-wx-wt  2 www-data www-data  40K Dec  9 04:27 .
drwxr-xr-x 38 root     root     4.0K Dec  8 05:09 ..
-rw-------  1 www-data www-data    0 Dec  9 04:28 sess_4cfr69tfe3euujr70p4vuj95v7
-rw-------  1 www-data www-data    0 Dec  9 04:23 sess_aq2ctf49sa0jtplbaqqanqogt3
-rw-------  1 www-data www-data    0 Dec  9 04:27 sess_bk89n2qomkp0cmm0r901i4dqm5
-rw-------  1 www-data www-data    0 Dec  9 04:26 sess_h4vsd0nn7mpbbl539f590f0n16
-rw-------  1 www-data www-data    0 Dec  9 04:26 sess_na6cgdimp4t3sk1pu86rcu4e75

您可以在下面的php.ini中看到與會話相關的所有設置

session.save_handler = files
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 = 86400
session.bug_compat_42 = Off
session.bug_compat_warn = Off
session.referer_check =
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5

任何幫助將不勝感激。 謝謝

嘗試使該目錄成為您的Web服務器的所有者。

sudo chown www-data:www-data /var/lib/php5

暫無
暫無

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

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