为什么这个简单的php脚本会崩溃?

为什么这个简单的php脚本会崩溃?,php,Php,当我试图通过浏览器访问.php文件时,在我的本地wamp服务器上运行此命令会给我ERR\u CONNECTION\u RESET。这是怎么回事 <?php $catalog = simplexml_load_file('http://www.w3schools.com/xml/cd_catalog.xml'); session_start(); if (!isset($_SESSION['selection'])) { $_SESSION['selection'] = arra

当我试图通过浏览器访问.php文件时,在我的本地wamp服务器上运行此命令会给我
ERR\u CONNECTION\u RESET
。这是怎么回事

<?php
$catalog = simplexml_load_file('http://www.w3schools.com/xml/cd_catalog.xml');

session_start();

if (!isset($_SESSION['selection'])) {
    $_SESSION['selection'] = array();
}

array_push($_SESSION['selection'], $catalog->CD[0]);
?>
编辑: 根据建议在apache日志中查找发现此问题:

[Tue Apr 02 09:34:54 2013] [error] [client 127.0.0.1] PHP Fatal error:  Uncaught exception 'Exception' with message 'Serialization of 'SimpleXMLElement' is not allowed' in [no active file]:0\nStack trace:\n#0 {main}\n  thrown in [no active file] on line 0

所以我想问题在于php的会话序列化不允许SimpleXMLElements。我将保存索引或其他内容。

在程序顶部插入如下内容:

error_reporting(E_ALL);
ini_set('error_log', 'phperror.log');
ini_set('log_errors_max_len', 0);
ini_set('log_errors', true);

然后在出错后查看错误文件。

在程序顶部插入如下内容:

error_reporting(E_ALL);
ini_set('error_log', 'phperror.log');
ini_set('log_errors_max_len', 0);
ini_set('log_errors', true);

然后一个接一个地查看错误文件。

您调试过了吗?或者逐行删除以获得最小的原因?当您下载xml文件并在本地访问它时会发生什么?我不知道如何在php中进入调试模式,但原因在最后一行,其中SimpleXMLElement被推送到数组中。我可以将普通字符串或我自己定义的对象推送到数组中,但是当尝试从$catalog CD数组中推送对象时,它会崩溃或发生其他情况。当我访问本地xml文件时,也会发生同样的情况。您调试过吗?或者逐行删除以获得最小的原因?当您下载xml文件并在本地访问它时会发生什么?我不知道如何在php中进入调试模式,但原因在最后一行,其中SimpleXMLElement被推送到数组中。我可以将普通字符串或我自己定义的对象推送到数组中,但当尝试从$catalog CD数组中推送对象时,它会崩溃或发生其他情况。当我在本地访问xml文件时,也会发生同样的情况