2016-03-02 28 views
-2

我的服務器正在寫入上的會話,但沒有得到讀取會議寫,但不Linux服務器上讀取

用下面的代碼:)

<?php 
session_start(); 
if (isset($_POST['submit'])) { 
    if(!isset($_SESSION['cheese'])) { 
     $_SESSION['cheese'] = 1; 
    } else { 
     $_SESSION['cheese']++; 
    } 
} 
?> 

在session_start(在頁面重載創建新的會話這意味着它沒有拿起會議。上面的代碼不顯示任何值。

PHP ini文件看起來像這樣的會議:enter image description here

奶酪|我:1; < - 這是什麼存儲在會話

編輯*****************

從建議下面就來檢查 的var_dump($ _ COOKIE,$ _SESSION ,$ _REQUEST,FILELINE); 每頁顯示以下內容

array(0){} array(1){[「test」] => string(2)「hi」} array(0){} string(36)「/ data/vhosts/slacatalogue/sesh1.php5「

Array()array(0){} array(0){} array(0){} string(36)」/data/vhosts/slacatalogue/sesh2.php6 「

寫,但不讀它

+2

您需要向我們展示一些代碼 – Neat

+0

您是否將session_start()放在頂部? –

+0

很抱歉忘了將它們添加到代碼標籤 –

回答

0

請與session_save_path(),如果它是可寫的。

if (!is_writable(session_save_path())) { 
    echo 'Session path "'.session_save_path().'" is not writable for PHP!'; 
} 
+0

更新它們是可寫的 –

0

我的服務器上的會話被寫入

你怎麼知道的?你有沒有檢查文件被修改?你檢查了內容嗎?

最有可能的原因是您沒有檢查錯誤日誌,或者您的錯誤報告配置錯誤,並且PHP對於瀏覽器是unable to send a session cookie。這應該從響應頭文件中顯而易見。

如果您的服務器正在向瀏覽器發送會話cookie,那麼接下來要檢查的是瀏覽器是否將請求頭髮送回去 - 大多數瀏覽器都可以選擇禁用cookie。

如果cookies工作正常,然後看看這些文件 - 每次請求登錄到使用session_start()的腳本時,它們是否會被更新?如果沒有,您可能會遇到權限問題。

+0

是的,我可以看到文件正在完成,並且可以在那裏看到會話變量 –

相關問題