php虚拟主机session失效/无法跨页传递问题解决

网站登录出现问题,登录页(login.php)的验证码图片能够正确显示验证码,但是登录校验页(login_in.php)总是提示验证码错误,验证码图片的产生页是rand_number.php,全部使用session机制实现。试着分析,各个页面session_start( )没有报错,尝试在login_in.php中输出rand_number.php产生的验证码,但是没有输出结果,本机运行则没有问题。网站放到虚拟主机一年多了,一直没有出现这个现象。

搜索网络,原来问题主要在于虚拟主机php.ini配置——session配置问题,特别在于session存储路径配置问题。套用很多现成答案,但是不能解决问题,有的解决方案非常麻烦,索性看都不看。终于发现session保存路径应该放在session_start( )之前这个关键。建立两个测试页面,上传到虚拟主机,通过t1.php传递session到t2.php:

t1.php

<?php
$session_path = dirname(__FILE__)."\session"; //重新声明session的保存位置
session_save_path($session_path); //重新声明session的保存位置
session_start();
echo $_SESSION["a"]=8;//注册变量
echo '<br /><br /><a href="t2.php">----t2.php----</a>';
?>
输出结果:
8

----t2.php----
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值