在线帮助文档

让你轻松解决建站问题

关于一些空间出现验证码错误,无法验证的问题

近期发现一些空间运行一段时间后,出现验证码无法验证,即:验证码输入正确的,但提示错误。

在本地和其它空间上进行调试,程序是没有问题的。

经过反复在出问题的空间上调试,发现他们空间竟然无法保存session。显示错误语句是session_start();    详细错误信息如下:open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/www/) 是空间保存session的默认路径/tmp没有了权限,因为如果默认不设置session保存路径, session是保存在网站根目录tmp里的,出现这个问题的原因应该是服务器的配置改变了,去掉了tmp的访问或修改权限,所以导致session读取和保存出错。

解决方法一:联系服务商给/tmp目录设置上权限。

解决方法二:自定义session的保存路径,关键代码如下:

define('ROOT_PATH', str_replace("\\", '/', substr(dirname(__FILE__), 0, -9))); 
$savePath=ROOT_PATH."/tmp/";//把session保存自己网站的跟目录,这样就没有目录限制了
session_save_path($savePath); 
session_start();