我的開發和生產服務器上有以下相同的代碼。它適用於開發結束,而不是在生產方面:
<?php
$s = session_start();
mail('[email protected]', 'Site-test', "s=$s; SESSION=".serialize($_SESSION), "MIME...");
開發服務器顯示:
s=1; SESSION=a:4:{s:20:"user_timezone_region";s:13:"Pacific/Samoa";s:4:"lang";s:1:"1";s:12:"sess_user_id";s:3:"225";s:14:"sess_user_type";s:1:"S";}
生產服務器顯示:
s=1; SESSION=a:0:{}
有什麼毛病我的PHP我希望能夠診斷的生產服務器上的設置。是的,這與我最近的其他兩個問題here和here有關。
更多細節:
- 我已在此服務器上運行的cPanel
- PHP error_log中沒有報告上面是一個錯誤(注意變量的'是「1」)
- 在第一個鏈接中提到了兩個phpinfo()中的差異
只是一個小的理智檢查:似乎在您的開發服務器$ _SESSION已經在其他地方填充。你的製作過程是否也一樣? – Fanis 2010-09-18 11:09:57
檢查請求之間從生產服務器設置的會話cookie的ID。很可能你會看到它在請求之間發生變化,表明正在創建一個全新的(空白)會話。 – 2010-09-18 15:12:41