在尝试打印simplehtmldom的输出时,它给了我500个错误。我尝试了跟随方法,但错误是相同的。
[Sat Sep 08 21:26:19.456961 2018] [:error] [pid 703804] ModSecurity:输出过滤器:响应体太大(超过404800001,未指定总数)。
我将限制增加了近100倍,但仍然是同样的错误。
错误消息表明ModSecurity正在抱怨响应主体太大。这并不意味着使用Simple HTML DOM库加载HTML有什么问题,它大约是代码生成的响应大小(print_r
或var_dump
部分)。我想这是因为您加载的HTML结构需要大量嵌套对象来表示DOM树,所以当您尝试使用print_r
或var_dump
输出完整结构时,响应会变得太大。
您可以通过简单地打印页面的纯HTML来验证HTML是否已加载和解析(使用print
而不是print_r
来打印simple_html_dom对象):
$html = file_get_html("http://www.google.com");
print($html);
并且您将看到正确检索HTML,并且您可以使用$html
对象以您希望使用simple_html_dom对象的方式操作DOM。
如果您想更改ModSecurity的输出限制以便生成更大的响应,请查看以下问题:Mod Security response/request body size?