PHP错误:警告:session_start()[function.session-start]:节点不再存在

时间:2010-03-17 16:28:07

标签: php session apache2

尝试启动会话时出现以下错误:

Warning: session_start() [function.session-start]: Node no longer exists in file.php on line 3

该脚本使用SimpleXML从远程主机解析XML文件。它运行在使用PHP 5.2.6的Linux Ubuntu服务器上。

有没有人在此之前遇到此消息或对其含义有所了解?

6 个答案:

答案 0 :(得分:4)

请参阅this page

底部的说明
[2009-09-25 11:41 UTC] rrichards@php.net

Thank you for taking the time to write to us, but this is not
a bug. Please double-check the documentation available at
http://www.php.net/manual/ and the instructions on how to report
a bug at http://bugs.php.net/how-to-report.php

Cannot serialize object wrapping 3rd party library structs. Must 
serialize the xml (to a string) and store that to session and reload the 
xml when restoring from session

答案 1 :(得分:3)

从这里开始:

http://bytes.com/topic/php/answers/831550-session_start-node-no-longer-exists

看起来你正在使用的变量不是传统意义上的数组或变量:它更像是一种资源。你将不得不像使用MySQL $结果那样循环输出值。

答案 2 :(得分:2)

您无法在会话中存储SimpleXML结果。将其转换为数组或使用唤醒和睡眠魔术方法扩展它。

答案 3 :(得分:2)

我遇到了同样的问题,并从网站http://www.ossramblings.com/simple_xml_breaks_sessions

获得了解决方案

实际上,在尝试存储XML数据时,会话将无法正常工作,因此只需将XML数据(我指的是对象)转换为字符串,如下所示:

$temp_max_markers = (string)$Response->owner->max_markers;

$_SESSION['max_markers'] = $temp_max_markers;

答案 4 :(得分:0)

您也无法使用会话名称中的xml作为.. $_SESSION[xml];

答案 5 :(得分:0)

您可以在codeigniter中的应用程序文件夹中的配置文件中更改加密密钥,它对我有用..