Php 可以打印\u r$\u会话对象,但无法访问它?
首先,一点背景信息。我在一个多站点项目上工作,3个城市各自安装了一个定制的CMS类型的东西。客户机不想为多个SSL证书付费,尽管我提出了建议,但他们甚至不会研究通配符SSL。我的工作是创建一个位于domain.com/payppment.php上的统一支付网关,这些站点本身位于子域上,例如cityx.domain.com 现在,在原始支付页面上,代码访问CMS创建的名为$_SESSION['member_obj']的对象,并在代码中的某个点使用以下方法检测用户的帐户级别:Php 可以打印\u r$\u会话对象,但无法访问它?,php,session,Php,Session,首先,一点背景信息。我在一个多站点项目上工作,3个城市各自安装了一个定制的CMS类型的东西。客户机不想为多个SSL证书付费,尽管我提出了建议,但他们甚至不会研究通配符SSL。我的工作是创建一个位于domain.com/payppment.php上的统一支付网关,这些站点本身位于子域上,例如cityx.domain.com 现在,在原始支付页面上,代码访问CMS创建的名为$_SESSION['member_obj']的对象,并在代码中的某个点使用以下方法检测用户的帐户级别: if ($_SESSI
if ($_SESSION['member_obj']->data['account_level']==1)
所以,这一切都很好,没有任何问题,但一旦我在我的脚本上使用相同的对象,它就会中断。我想指出的是,我的代码位于根域上,子域上的工作代码-我已使用以下方法使$\u会话变量可用于所有子域:
ini_set('session.cookie_domain', '.domain.com');
现在,奇怪的是,对象存在,但当我尝试使用->data['account\u level']方法时,它就死在我的身上了。我知道该对象存在,因为我可以打印该对象并获得以下信息:
__PHP_Incomplete_Class Object
(
[__PHP_Incomplete_Class_Name] => Member
[table] => members
[data] => Array
(
[id] => 1689
[title] => mr
[firstname] => Testy
[surname] => McTesters
[age_range] => 18-24
[gender] => male
[email] => xxxxxx
[username] => xxxxxx
[password] => xxxxxx
[account_level] => 1
[joined] => 1326290317
[password_reset] =>
[password_reset_date] => 01/01/1970
[last_active] => 1326881531
[status] => active
[contact] => 0
[third_party] => 0
[notifications] => 0
[terms] => 1
[dummy] => 0
[override_account] => 0
[premium_request] => 1
[password_reset_date_original] => 1970-01-01
)
接着是一大堆其他的东西
那么,有谁能向我解释一下对象是如何存在的,但又是如何不可访问的呢?您必须在开始会话之前加载类
成员
选中此复选框,使您的会话.auto_start
在php.ini中设置为off
,您必须在开始会话之前加载类成员
检查您的php.ini中的session.auto\u start
设置为off
是否会-\uuuu php\u complete\u Class
-是因为您忘记了包含封装此数据的类的类定义吗?是否会-\uu php\u complete\u Class
-是因为您忘记了若要包含
封装此数据的类的类定义?在调用会话_start()
之前,您需要加载您的成员
类,我担心这一点,因为页面是一个单独的实体,它不使用任何类-CMS非常面向对象,每个php文件都依赖于另一个文件,然后是另一个文件,直到你找到基本的对象——看起来我的工作已经完成了,谢谢!在调用session\u start()
之前,您需要加载成员
类。我担心这一点,因为页面是一个单独的实体,它不使用任何类-CMS非常面向对象,每个php文件都依赖于另一个文件,然后是另一个文件,直到你找到基本的对象——看起来我的工作已经完成了,谢谢!