1

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

我在 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 2 月 9 日 17:46 phpyHKRQD

我在这里超级困惑,为什么 php 在 64 位环境中会停止在 2 GB。

4

3 回答 3

1

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

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

http://www.plupload.com/

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

于 2017-02-09T19:12:41.777 回答
0

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

php -r 'echo PHP_INT_MAX;'  

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

于 2017-02-09T19:18:20.740 回答
0

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

其实我错过了设置,

fastcgi_request_buffering 关闭

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

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

于 2017-02-16T07:08:09.607 回答