Php 大字符串的json编码中断
我试图用json将格式良好的XML字符串编码为SimpleXMLElement对象。但实际情况是,它会中断或退出 我尝试使用小xml文件,效果很好,问题是使用大xml文件 代码如下: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
<?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)