山滚云

在ThinkPHP中session无法传值的问题

小程序常识 351℃

在ThinkPHP中session无法传值的问题
这几天用TP做项目,突然发现session无法使用了,在一个控制器里设置的session值,然后在另一个控制器里无法调用,纠结啊.
不知道哪里的问题,各种方法都试过了就是不行,最终在网上查了一下,也有人遇到过这样的问题,最终想到了一个最古老的解决方法,那就是修改php.ini文件,没办法只能死马当活马医了,结果还真行,虽然这个方法有些安全隐患但这也是没有办法的办法了.
1,查找c:/windows目录下php.ini文件
2,修改php.ini中的session.auto_start = 0 为 session.auto_start = 1 //设置自动开启session
3,重启apache服务器 //我只修改了上边一处就可以用了如果不行的话,就执行下边第4步
4,修改php.ini中的session.save_path = C:/tmp ,将前边的;去掉 //修改session的保存路径,自动建立tmp文件夹

session 跨域,困扰我好几天,今天终于弄明白了,不管是thinkphp,还是本身的php,其实都要设置session.cookie_domain,设置好,就OK了,在thinkphp 里,在配置文件里:
conf/config.php
第一行:加ini_set( session.cookie_domain , .domain.com //跨域访问Session
别的不用框架的一样,以下又是我这几天总结的,session 跨域解决办法,本人已亲自测试成功,并已运用到自己的网站!
第一种情况:如果你目录下没有.htaccess这个文件,也就是没有采取url伪静态2的话,那么,你在conf/config.php
第一行加上:ini_set( session.cookie_domain , .domain.com //跨域访问Session
这种如果你开启了调试,可能用,但关闭了调试,可能就不管用了!
第二种情况:如果你目录下有.htaccess这个文件,那么你在根目录,index.php的第一行加入:
//定义ThinkPHP框架路径 define( THINK_PATH , ../ThinkPHP/
//定义项目名称和路径 define( APP_NAME , Www
define( APP_PATH , . //加载框架入口文件
require(THINK_PATH. /ThinkPHP.php //实例化一个网站应用实例
App::run(); ?
这种开不开启调试都管用!

转载请注明:⎛蜗牛建站⎞ » 在ThinkPHP中session无法传值的问题

蜗牛营销是国内领先的搜索营销服务商,有丰富的客户服务经验,我们有专业的网站优化、网站建设、APP开发、全网营销团队,可以持续为您提供优质的服务,您的满意是我们不懈的追求。

城市分站:微信小程序北京微信小程序上海微信小程序广州微信小程序深圳微信小程序成都微信小程序重庆微信小程序武汉微信小程序

业务范围:深圳建站公司,网站优化,虚拟主机    微信:ganshangwoniu    QQ:549233124    业务咨询热线:177-2050-9380

   Copyright © 2008-2024 蜗牛小程序开发版权所有   

QQ在线咨询
支付宝小程序公司微信号