我正在用PHP解析XML文件,并将行插入到MYSQL数据库中。
我使用PHP加载simplexml_load_files,并使用foreach循环数组并将行插入到数据库中。
它对我正在测试的小文件工作得很好,但它变成了现实,我需要解析一个500mb的大型XML文件,但什么也没有发生。
我想知道这种情况下正确的Php.ini配置是什么?
我有一个VPS Linux Cent操作系统,有256MB的专用内存和MySQL5.0.5。我还设置了php memory_limit = 256M (服务器的最大值)
发布于 2010-05-05 17:50:45
天哪,一个500MB的XML文件?我猜你的内存用完了。试试XMLReader,它是一个拉式解析器(或多或少地)逐行解析XML,这样您就不会那么容易耗尽内存。
发布于 2010-05-05 17:57:09
我建议您使用xmlreader ...就记忆而言,它更有效
发布于 2010-05-05 17:57:34
用于xml的内存配置位于第三方库中,而不是php.ini配置中。此外,您应该使用XMLReader或ext/xml来处理如此大的文件,这意味着流访问,而不是使用dom data access (SimpleXML)。
https://stackoverflow.com/questions/2772000
复制相似问题