当我在本地服务器上发出print_r($ _SESSION)时,我会收到以下内容
Array
(
[group] => Rich Primosch
[ok] => 1
[golfer] => Fritz Davis
[uniq] => 38
[fname] => Fritz
[lname] => Davis
[hphone] => 352-487-0597
[cphone] => 352-487-6189
[email] => fritz@hadleyvillage.org
[vid] => 527571
[handicap] => 23
[admin] => 0
[page] => signup.php
)
然而,当我在webhost的服务器上发出相同的print_r($ _SESSION)时,我得到了这个回复
阵 (
[group] => __PHP_Incomplete_Class Object
(
[__PHP_Incomplete_Class_Name] => window
[curdate] => 1293771600
[datetime] => 1293813211
[monplay] => 1294030800
[wedplay] => 1294203600
[friplay] => 1294376400
[monclose] => 1293750000
[wedclose] => 1293922800
[friclose] => 1294030740
[monopen] => 1293426000
[wedopen] => 1293426000
[friopen] => 1293426000
[ismonopen] =>
[iswedopen] => 1
[isfriopen] => 1
)
[ok] => 1
[golfer] => mysqli_result Object
(
)
[uniq] => 175
[fname] => Fritz
[lname] => Davis
[hphone] => 352-487-0597
[cphone] => 352-487-6189
[email] => fritz@hadleyvillage.org
[vid] => 723234
[handicap] => 23
[admin] => 0
[page] => signup.php
)
为什么我甚至看到不完整的类对象,我不知道。它永远不会分配给$ _SESSION变量,是的,类定义包含在session_start()之前。
两个回复有几个不同之处。我的问题是为什么?某处设置是否存在差异或是否存在编程错误。
我见过许多对PHP_Incomplete_Class对象的引用,但是他们都说确保类定义继续session_start。在我的情况下确实如此,但这应该是无关紧要的,因为我只在一个页面上使用该对象而不将其存储在会话中。
建议表示赞赏。
-dmd -
答案 0 :(得分:0)
在两台机器上尝试var_dump,它可能会说一些有趣的东西,“组”值似乎是一个对象,是什么类型的?它有一个__sleep()魔术方法吗? 确保您的测试机器和生产服务器具有相同的php版本,以便更好地理解该问题。 @see http://www.php.net/manual/en/language.oop5.serialization.php