SimpleHTMLDom returns 打印输出时出现 500 错误

SimpleHTMLDom returns 500 error on printing output

在尝试打印简单htmldom 的输出时,它给了我 500 错误。我尝试了以下方法,但错误相同。

[Sat Sep 08 21:26:19.456961 2018] [:error] [pid 703804] ModSecurity: Output filter: Response body too large (over limit of 404800001, total not specified).

我将限制提高了将近 100 倍,但仍然出现同样的错误。

错误消息表明 ModSecurity 正在抱怨响应主体太大。这并不意味着使用简单 HTML DOM 库加载 HTML 有问题,它与您的代码生成的响应大小有关(print_rvar_dump 零件)。我想这是因为您正在加载的 HTML 结构需要大量嵌套对象来表示 DOM 树,因此当您尝试使用 print_r 或 [= 输出完整结构时12=] 响应变得太大。

您可以通过简单地打印页面的普通 HTML 来验证 HTML 是否已加载和解析(使用 print 而不是 print_r 来打印 simple_html_dom对象):

$html = file_get_html("http://www.google.com");

print($html);

你会看到 HTML 被正确检索,你可以使用 $html 对象来操作 DOM 你希望使用 simple_html_dom 对象的方式.

如果您想更改 ModSecurity 的输出限制以便生成更大的响应,请查看此问题:Mod Security response/request body size?