php 大文件xml,大文件上的php – simplexml_load_string错误发生在一个系统上,但不是另一个...

我正在处理一个我无法编辑的第三方

PHP库,它已经运行了将近一年.它对远程服务器的响应使用simplexml_load_string.最近,它一直在阻止大量的回应.这是房地产列表的数据@R_301_349@,格式如下所示:

sysid 1 2 3 4 5 6

252370080 Residential 0.160 No ADDR0 06051

252370081 Residential 0.440 Yes ADDR0 06043

252370082 Residential 1.010 No ADDR0 06023

More tab delimited text

我下载了一个响应的示例文件(大约22MB),这里我结束了我的调试和理智.两台服务器都运行PHP 5.3.8版,但请注意不同的结果.我确定,我可以这两个文件是一样的(我认为不同的文件大小,strlen,最后50个字符可以解释由Windows换行符额外的回车字符).测试脚本:

error_reporting(-1);

ini_set('display_errors',1);

$file = 'error-example.xml';

$xml = file_get_contents($file);

echo 'filesize: ';

var_dump(filesize($file));

echo 'strlen: ';

var_dump(strlen($xml));

echo 'simplexml object? ';

var_dump(is_object(simplexml_load_string($xml)));

echo 'Last 50 characters: ';

var_dump(substr($xml,-50));

在Windows上本地输出:

filesize: int(21893604)

strlen: int(21893604)

simplexml object? bool(true)

Last 50 characters: string(50) "RD DR CT Watertown 203-555-5555

"

远程UNIX服务器上的输出:

filesize: int(21884093)

strlen: int(21884093)

simplexml object?

Warning: simplexml_load_string(): Entity: line 9511: parser error : internal error in /path/to/test.PHP on line 19

Warning: simplexml_load_string(): AULTED CEILING IN FOYER,BRICK FP IN FR,NEW FLOORING IN LR DR FR FOYER KITCHEN in /path/to/test.PHP on line 19

Warning: simplexml_load_string(): ^ in /path/to/test.PHP on line 19

Warning: simplexml_load_string(): Entity: line 9511: parser error : Extra content at the end of the document in /path/to/test.PHP on line 19

Warning: simplexml_load_string(): AULTED CEILING IN FOYER,NEW FLOORING IN LR DR FR FOYER KITCHEN in /path/to/test.PHP on line 19

Warning: simplexml_load_string(): ^ in /path/to/test.PHP on line 19

bool(false)

Last 50 characters: string(50) "ORD DR CT Watertown 203-555-5555

"

一些回复评论和附加信息:

> XML本身似乎是有效的,只要我能告诉(它在我的系统上工作).

> magic_quotes_runtime绝对是关闭的.

>工作服务器具有libxml版本2.7.7,而另一个具有2.7.6.真的可以有所作为吗?我找不到一个libxml更改日志,但似乎不太可能.

>这似乎只发生在响应/文件超过一定大小时,错误总是发生在下一个最后一行.

>我没有遇到内存问题,测试脚本会立即运行.

如果我知道哪些相关的PHP配置有差异,我可以发布.任何想法可能是什么问题,还是知道其他什么我可能想检查?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值