Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 大字符串的json编码中断_Php_Xml_Json - Fatal编程技术网

Php 大字符串的json编码中断

Php 大字符串的json编码中断,php,xml,json,Php,Xml,Json,我试图用json将格式良好的XML字符串编码为SimpleXMLElement对象。但实际情况是,它会中断或退出 我尝试使用小xml文件,效果很好,问题是使用大xml文件 代码如下: <?php $directory = "lookup.xml"; $xmlContent = file_get_contents($directory); // get contents of lookup print_r(simplexml_load_string($xmlContent)); $array

我试图用json将格式良好的XML字符串编码为SimpleXMLElement对象。但实际情况是,它会中断或退出

我尝试使用小xml文件,效果很好,问题是使用大xml文件

代码如下:

<?php
$directory = "lookup.xml";
$xmlContent = file_get_contents($directory); // get contents of lookup
print_r(simplexml_load_string($xmlContent));
$arrayXml = json_decode(json_encode(simplexml_load_string($xmlContent)),TRUE);
print_r($arrayXml);

是因为一个大文件还是一些字符串被破坏了???

错误消息到底是什么,将13Mb加载到XML而不是JSON将占用大量内存,服务器上的内存限制是多少。使用您的代码,我尝试了7.5MB的XML站点地图和
脚本末尾的内存使用率为119MB,这几乎是XML本身使用率的两倍。

这就是为什么这种方法并不完美的原因。为什么不正常遍历它?您得到的错误消息是什么?致命错误:允许的内存大小为1048576字节,尝试分配12286130字节。现在我通过设置“内存限制”、“100M”解决了这个问题;
1. lookup.xml - 2 MB (works fine)
2. lookup.xml - 13 MB (Not working)