$ _SESSION不保留ldap $ link_identifier

时间:2017-02-22 09:55:56

标签: php session ldap

在将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中的正确值?

期待您的帮助。

1 个答案:

答案 0 :(得分:0)

您无法将Resource存储在存储中,因为会话数据在保存之前已序列化。阅读此http://php.net/manual/en/function.serialize.php