【发布时间】:2013-05-31 10:02:31
【问题描述】:
我已经在网上搜索并没有找到任何结果。所以我最后的努力是在这里问,希望这可以说明这一点。
我无法获得超过 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 是否可能对他们有一个秘密的隐藏配置,我是无法定位。
编辑: 这里基于 cmets 提供了更多信息:
phpinfo 文件显示所有设置都符合 plesk 设置。
/etc/httpd/conf.d/ 中的 php.conf 文件没有 LimitRequestBody。
fcgid.conf 文件的 FcgidMaxRequestLen 为 1073741824
【问题讨论】:
-
您是否确认您正在写入正确的 PHP 配置文件?做一个
phpinfo()转储只是为了确保。您应该能够编辑 nginx.conf 并重新启动服务...如果它不起作用,请将 client_max_body_size 指令移到服务器块之外。一些好消息:forum.slicehost.com/index.php?p=/discussion/1714/… -
phpinfo 确实验证了 php 的正确设置。我已经编辑了 nginx.conf 文件并重新启动了服务器,尝试了多个小的变化。有趣的事实是我已经阅读了那篇文章并尝试了它:)。由于生成的 nginx 配置不是主要的,我无法直接编辑位置块。
-
检查 /etc/apache2/conf.d/fcgid.conf 中的 FcgidMaxRequestLen : FcgidMaxRequestLen 1073741824 如果设置不正确,这将给它 1GB
-
还要检查 /etc/httpd/conf.d/php.conf 中的 LimitRequestBody 是否太小,apache 也可能会限制它。