【问题标题】:How do I get client_max_body_size (nginx - php-fpm) as a value in PHP?如何获取 client_max_body_size (nginx - php-fpm) 作为 PHP 中的值?
【发布时间】:2019-02-01 11:55:05
【问题描述】:

我为自定义应用程序编写了一个文件上传器,它将文件分成块并通过 ajax 将其发送到服务器。我遇到的问题是我可以使用 ini_get 拉出 upload_max_filesize 和 post_max_size,但是,我似乎无法获得 nginx 用来释放 413 错误的 client_max_body_size;答案空间被试图达到极限的人污染了。我希望我的软件能够检测并绕过限制(因为它已经很好地将事物分块)。如何将 client_max_body_size (或任何其他潜在的限制值)检测为 php 中的值(理想情况下以一种不需要修改 nginx 文件的通用方式,以便代码可供公众使用,但我会采取什么我可以得到)。提前致谢!

【问题讨论】:

  • 如果它不能作为 PHP ini 变量使用,你可能需要运行一个命令来转储 nginx 配置值e.g. exec('nginx -T') 并 grep/parse 它以获得你想要的值
  • 我认为您只能获得 PHP 的 upload_max_filesize,除非您对 nginx 的 conf 文件进行配置更改以在 $_SERVER 或类似文件中传递该值,但这对您的通用方法没有帮助
  • exec 似乎不是一个好主意。我的许可被拒绝了...如果我不得不走那么远,我想我可以理解为什么每个人都想达到这个限制...不过谢谢你的想法。

标签: php nginx upload


【解决方案1】:

我想最明智的做法是在配置中对其进行硬编码,以便人们可以手动将他们的环境定位到他们的限制。我希望有更好的通用解决方案,但我想没有。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-08
    • 2017-04-07
    • 2017-05-04
    • 1970-01-01
    • 2017-01-19
    • 1970-01-01
    相关资源
    最近更新 更多