Я обнаружил странное поведение переменной сеанса при сохранении идентификатора ссылки ldap. Для этого я создал два php-фрагмента.
test1.php:
<?php session_start(); $_SESSION['test']=ldap_connect('ldap://asc-OpenLDAP.asc.asc-syscon.de'); echo $_SESSION['test']; ?>
Выход: Идентификатор ресурса №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?
Ждем вашей помощи.
Resource
нельзя хранить в хранилище, поскольку данные сеанса сериализуются перед сохранением. Прочитайте это http://php.net/manual/en/function.serialize.php