如何从 PHP 检测 Apache LimitRequestLine?

如何从 PHP 检测 Apache LimitRequestLine?

有没有办法从 PHP 脚本获取当前 Apache 设置?所有操作都在同一台服务器上进行。

我尝试过apache2ctl -DDUMP_CONFIG | grep LimitRequestLine在 PHP 中运行。它有点工作,但也需要启动 Apache,将其绑定到端口。它有时会非常缓慢地失败。此外,它需要启用mod_info模块。

背景:JS 库数据表将非常长的 URL 发送为 GET 请求。它们比 LimitRequestLine 的默认值要长。将 LimitRequestLine 设置为足够大的值可以解决此问题。我想提供一个安装验证清单,警告安装我们的 PHP 应用程序后可能出现的问题。

答案1

您不应该允许 PHP 访问 Apache 配置设置。您可以做的是,编写一个 PHP 测试脚本,该脚本将尝试从您的应用程序获取最大可能的 URL 长度。将其包装在 try/catch 中,如果出错则报告,指示如何增加此限制。这样,它将与其他 Web 服务器(例如 NGINX,如果将其引入组合)配合使用。

相关内容