不理解“类定义必须在启动会话之前加载以在会话中重建对象”,哪位给个简单例子说明下? 你可以在php.ini里启动session.auto_start=1,这样就无需每次使用session之前都要调用session_start()。但启用该选项也有一些限制,如果确实启用了 session.auto_start,则不能将对象放入会话中,因为类定义必须在启动会话之前加载以在会话中重建对象。哪位可否给个简单例子说明下? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 session_start();class A { var $val = 0; function foo() { echo $this->val; }}if(! $_SESSION['obj']) { $_SESSION['obj'] = new A;}$p = $_SESSION['obj'];echo $p->val++; 你这是说明能够将对象保存到session中,上面所指的不能的情况是怎样的? 你在php.ini中令session.auto_start=1重启web服务,然后再运行上面的代码,看有是什么结果 报错,大意是说,没有序列化。在session.auto_start=1的情况下,是否先序列化后,还是可以保存?具体如何实现? if(!$_SESSION['obj'])关键在这里,如果去掉这句不管是0还是1都可以。 重新测试了,这次没问题session_start();class A { var $val = 0; function foo() { echo $this->val; }}if(! $_SESSION['obj']) { $pp = new A; $_SESSION['obj'] = serialize($pp);}$p = unserialize($_SESSION['obj']);echo $p->val++; 问一个很纠结的问题 求教一个关于对象数组的问题 关于mysqli扩展库中的对象问题 关于页面保存填写信息的问题 td之间的长度该怎么修改?急 正则数字的高深问题 急求 双色球 复式兑奖算法!!附游戏规则! PHP如何编写语音聊天室[急] 寻一程序 php处理表单的一个 php 32位整数溢出问题 页面过滤乱码问题
var $val = 0;
function foo() {
echo $this->val;
}
}if(! $_SESSION['obj']) {
$_SESSION['obj'] = new A;
}
$p = $_SESSION['obj'];
echo $p->val++;
你这是说明能够将对象保存到session中,上面所指的不能的情况是怎样的?
session.auto_start=1重启web服务,然后再运行上面的代码,看有是什么结果
报错,大意是说,没有序列化。在session.auto_start=1的情况下,是否先序列化后,还是可以保存?具体如何实现?
关键在这里,如果去掉这句不管是0还是1都可以。
var $val = 0;
function foo() {
echo $this->val;
}
}if(! $_SESSION['obj']) {
$pp = new A;
$_SESSION['obj'] = serialize($pp);
}
$p = unserialize($_SESSION['obj']);
echo $p->val++;