2012-10-17 55 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'函数即可。 –