2012-10-17 84 views
1

我有一個使用會話的定製cms存儲一些數據。我突然改變的web服務器在PHP中變成了safe_mode。這意味着我不能再使用會話。當關閉safe_mode是沒有選擇的時候,是否有解決方法?PHP session with safe_mode on

+1

在安全模式下使用會話應該沒有任何問題。 – Alvarez

+0

會話在安全模式下很好。然而,安全模式本身被認爲已經過時 - 不應該使用(因爲它實際上並不安全)。安全模式已在目前支持的最低版本的PHP(5.3)中被棄用,並且完全從PHP 5.4中刪除。如果你的主機剛打開它,它們就會過時,你應該認真考慮放棄它們並尋找更好的主機。請參閱相關PHP手冊頁上的說明:http://php.net/manual/en/features.safe-mode.php – SDC

回答

1

根據sessions的php手冊,您的服務器在safe mode這一事實不會導致您的會話出現問題。

http://www.php.net/manual/en/intro.session.php

然而,session_start()功能可以在安全模式下被禁用,下一個條件下:

The owner of a script must be the same as owner of a session.save_path directory if the default files session.save_handler is used. 

爲了解決此問題,請聯繫您的託管公司,並要求當地INI文件(php設置),然後編輯session.save_path的值,並確保此路徑存在於您的服務器中。

+0

謝謝,我如何啓動會話將session.save_path設置爲現有路徑時。還用session_start()? – waterschaats

+0

根據上面提到的條件,在編輯它並將其定位到您的服務器中的現有路徑之後 - 您只需使用'session_start'函數即可。 –