在将ldap链接标识符存储到会话变量时,我遇到了奇怪的会话变量行为。为此,我创建了两个php片段。
test1.php:
<?php
session_start();
$_SESSION['test']=ldap_connect('ldap://asc-OpenLDAP.asc.asc-syscon.de');
echo $_SESSION['test'];
?>
输出:资源ID#2
到目前为止,一切都很好。 但是当我尝试在第二页上使用$ _SESSION时,它突然显示错误的值。
test1.php:
<?php
session_start();
$_SESSION['test']=ldap_connect('ldap://asc-OpenLDAP.asc.asc-syscon.de');
header('Location:test2.php');
?>
test2.php:
<?php
session_start();
echo $_SESSION['test'];
?>
输出: 0
为什么会这样?如何使它保持test1.php中的正确值?
期待您的帮助。
答案 0 :(得分:0)
您无法将Resource
存储在存储中,因为会话数据在保存之前已序列化。阅读此http://php.net/manual/en/function.serialize.php