【问题标题】:PHP FPM Nginx unable to upload more than 2 GB of filePHP FPM Nginx 无法上传超过 2 GB 的文件
【发布时间】:2017-02-17 21:04:47
【问题描述】:

我使用的是 64 位 CENT 操作系统,带有 php 5.6 和 nginx/php fpm。

我在 VPS 中运行 owncloud 实例,一切运行顺利,除了大小超过 2 GB 的任何文件都没有上传并出现网关错误,我调整了所有设置,如上所述在

https://github.com/owncloud/documentation/wiki/Uploading-files-up-to-16GB

所有的值都设置好了,仍然每当 php-fpm 将文件写入临时目录时,它恰好停在 2 GB,有时是 2.1 或 2.2 但不是在那之后,它不是超时问题,有时如果我上传 7 GB 的文件,它上传了几个小时,进度条没有任何问题,直到 100% 然后停止,检查我可以看到的 tmp 文件夹,

cd /var/www/owncloud/temp/

[root@files temp]# ll -ah

-rw-----1 nginx nginx 2.2G Feb 9 17:46 phpyHKRQD

我对此感到非常困惑,为什么 php 在 64 位环境中会停止在 2 GB。

【问题讨论】:

    标签: php nginx upload limit fpm


    【解决方案1】:

    对于非常大的文件,最好实现分块上传器。那好多了。

    有很多很酷的库可以解决您的问题。

    http://www.plupload.com/

    完全上传一个位文件会导致很多问题。

    【讨论】:

      【解决方案2】:

      您的 64 位系统上可能安装了 32 位 PHP。你可以通过运行来检查它

      php -r 'echo PHP_INT_MAX;'  
      

      我的 64 位拱门,但 32 位 PHP 回显 2147483647 和我的 64 位拱门和 64 位 PHP 回显 9223372036854775807

      【讨论】:

      • 我明白了,php -r 'echo PHP_INT_MAX;' 9223372036854775807
      • 您的 TEMP 文件系统的大小是多少? /var/www/owncloud/temp/?
      • 在 Admin 下的 web ui 中有一个名为“最大上传大小”的设置。你改了吗?
      • 该临时位置没有限制,因为我手动创建了该位置并编辑了配置文件以使用该位置,尝试将管理部分中的最大上传大小设置编辑为 8 GB 仍然是同样的问题。
      【解决方案3】:

      感谢您的建议,问题已解决。

      其实我错过了设置,

      fastcgi_request_buffering 关闭

      如前所述, https://doc.owncloud.org/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html

      现在可以上传大于 2 GB 的文件。

      【讨论】:

        猜你喜欢
        • 2017-11-06
        • 2014-08-17
        • 2011-06-30
        • 1970-01-01
        • 1970-01-01
        • 2011-09-27
        • 2020-04-29
        • 2015-04-20
        • 1970-01-01
        相关资源
        最近更新 更多