我已经在网上搜索并没有找到任何结果。所以我最后的努力是在这里问,希望这可以对此有所了解。
我无法获得超过 2mb 的最大上传大小。
我的猜测是 plesk 的问题,它似乎没有设置 nginx 配置的选项,即使它自动生成它们。让我在 SSH 中手动编辑它们毫无意义。
PHP 对每个虚拟主机都有这些设置:
memory_limit 64M;
post_max_size 32M;
upload_max_filesize 16M;
http 块中的 nginx 有这个(我可以编辑的一个区域而无需 plesk 改回):
client_max_body_size 64M;
client_body_buffer_size 128k;
plesk 在每个 nginx 服务器块中自动生成:
client_max_body_size 128m;
通常给出的错误是 NGINX 的 413,导致我相信 php 无关(但服务器错误并不总是反映实际问题)。
Nginx 通过代理将连接路由到 apache,但是我找不到 apache 的配置,只有“httpd”,并且它的配置也会自动生成。因为我看到的错误是由 nginx 生成的,所以我不敢相信 apache 是问题所在(但我会在这里注明,以防有人有不同的想法)
到目前为止,我在命令行和 plesk 管理面板上都花了几个小时。两者都与 2MB 限制完全无关。我的一个“猜测”是我还需要将 client_max_body_size 添加到位置块,但这意味着在没有 plesk 女巫的情况下重新格式化服务器不是一种选择。
因此,为了消除任何困惑,我要问的是,除了它们各自的配置文件之外,是否还有其他任何地方 nginx/apache/php 可能会设置限制,或者 plesk 是否可能对它们有一个我无法找到的秘密隐藏配置.
编辑:根据评论,这里有更多信息:
phpinfo 文件显示所有设置都符合 plesk 设置。
/etc/httpd/conf.d/ 中的 php.conf 文件没有 LimitRequestBody。
fcgid.conf 文件的 FcgidMaxRequestLen 是 1073741824