不理解“类定义必须在启动会话之前加载以在会话中重建对象”,哪位给个简单例子说明下? 你可以在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++; 高手来评下:世纪佳缘的网站为什么从ASP.NET改为PHP了? form 提交问题 php 中的小问题,在线给分。 高薪诚聘php网站程序员(在广州工作) sf上搜索php的相关名称的项目怎么搜? 分页计算方法,比较简单的问题... php对文件管理,那里有较好的脚本! php 怎么读出某个数据库(mysql)里的表名 提问 关于flock 函数! 使用curl模拟登陆图书馆老是提示请确认您的浏览器Cookie开启和正常访问移动图书馆首页 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++;