站长技术网

首页 > 建站教程 > 服务器教程 >

PHP源码session失效不传递的解决办法(无法登录和注册或者登录注册失效)

PHP中,session不能传递到下一个页面去,一般有两种情况:

1.session.use_trans_sid参数被设为了零,首先新建一个文本文档,输入代码<?=phpinfo()?>保存,然后把文件改成info.php文件放到你的主机下访问,看一下session.use_trans_sid的值是否是0

解决办法:

在配置文件php.ini里把session.use_trans_sid的值改成1 当然这个需要你有服务器的远程操作权限,修改后重启一下服务器可以测试一下看看;

2.另外的一个原因也是常见到的原因就是服务器保存session的文件夹没有读取的权限,还是回到info.php中,查看session保存的地址:session.save_path: C:\WINDOWS\Temp

这里所以就是检查下C:\WINDOWS\Temp文件夹是否可写,没有的话就给加上user的可读写权限,linux系统的话就给加上777的权限即可

会有朋友问,如果是虚拟主机没有服务器权限怎么办?那很简单,那就换个文件夹存储就是啦,在你的编写的程序页面中,加上:

//设置当前目录下session子文件夹为session保存路径。

$sessSavePath = dirname(__FILE__).’/session/’;

//如果新路径可读可写(可通过FTP上变更文件夹属性为777实现),则让该路径生效。

if(is_writeable($sessSavePath) && is_readable($sessSavePath))

{session_save_path($sessSavePath);}

建议新手直接联系主机商协助开启就可以,锦尚中国的主机用户直接联系客服处理即可,我们的主机一般都是给开启的!