>  기사  >  백엔드 개발  >  PHP 세션을 저장할 수 없으면 어떻게 해야 합니까?

PHP 세션을 저장할 수 없으면 어떻게 해야 합니까?

藏色散人
藏色散人원래의
2020-08-21 10:18:372897검색

php session保存不了是因为服务器配置发生改变,其解决办法就是自定义session的保存路径,关键代码如“$savePath=ROOT_PATH."/tmp/"; session_save_path($savePath);”。

PHP 세션을 저장할 수 없으면 어떻게 해야 합니까?

推荐:《PHP视频教程》 

PHP空间出现session无法保存问题的解决办法

今天突然发现,一个运行9个月的PHP万网Linux空间出现验证码无法通过,会员无法登陆,后台也无法登陆的问题,因为这几个功能一直运行很好,而且服务器也是国内最好的万网,页面访问很正常,所以感到非常的奇怪。

经过方维技术部检测,是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读取和保存出错。

所以出现这个问题的原因是万网服务器配置改变,解决办法是自定义session的保存路径,关键代码如下:    

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

위 내용은 PHP 세션을 저장할 수 없으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.