php啟動session失敗異常解決方案

來源:互聯網
上載者:User
php啟動session失敗錯誤解決辦法

原文地址:http://www.hjaa.net/?p=1149

php啟動session失敗錯誤原因應該是:php.ini中,有關session部分的設定存在錯誤,引發session?cookies無法發送和保持。

排查步驟:

1、將以下文字儲存為phpinfo.php,並上傳到伺服器要可以訪問,比如本站http://www.hjaa.net/phpinfo.php

phpinfo();

?>

重點關注session部分

2、session.cookie_domain設定了A網域名稱,即session.cookie_domain?=?A網域名稱結果導致session?cookies在B網域名稱失效。

解決辦法1:將php.ini中的session.cookie_domain設定為空白,即:session.cookie_domain?=

解決辦法2:session.cookie_domain?=設定成你使用的網域名稱

3、php.ini中,session.cookie_path設定過於嚴格。比如設定為:session.cookie_path?=?/hjaa/也就是說只允許根網域名稱下面的hjaa目錄和子目錄才能使用session(更確切來講,如果session.cookie_domain設定了A網域名稱,則表示A網域名稱下的hjaa目錄和子目錄才允許使用session)

解決辦法:將php.ini中的session.cookie_path設定為“/”(不含雙引號)或者你認為的更加寬鬆的安全設定,比如:?session.cookie_path?=?/

4、php.ini中,將session.cookie_path和session.save_path兩者搞混,以為session.cookie_path是表示session臨時檔案儲存體的路徑。但實際上session.cookie_path是表示session生效的網站域,和伺服器的檔案許可權無關;session.save_path才是設定session臨時檔案儲存體的路徑。比如將session.cookie_path設定為:session.cookie_path?=?C:/WINDOWS/TEMP從而引發故障。

5、session.save_path設定的目錄沒有寫入權限;或者設定不正確(比如設定的檔案夾根本不存在)。請注意:如果為空白,則表示使用預設的系統臨時檔案夾路徑。windows一般為“%SystemRoot%\TEMP”,unix一般為“/tmp”

解決辦法:

(1)、如果session.save_path不留空,請確認該設定值對應的確實是一個檔案夾、並且該檔案夾存在。如果確實不知道如何設定,請注釋此設定、或者改為空白值,讓php使用預設設定。

(2)、在對應目錄中,給予相應使用者的寫入權限比如對於IIS,應給予Internet來賓賬戶的寫入權限。

6、當session.auto_start = on時,執行 session_start() 將產生新的 session_idsession.auto_start = on 的優點在於,任何時候都不會因忘記執行 session_start() 或 session_start() 在程式裡的位置不對,而導致錯誤缺點在於,如果你使用的是第三方代碼,則必須刪去其中的全部 session_start() 。否則將不能得到正確的結果

解決辦法:

(1)session.auto_start = Off

(2)把程式中的session_start();去掉

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.