【问题标题】:Php can't upload large files with no errorphp无法无错误上传大文件
【发布时间】:2014-09-18 17:29:32
【问题描述】:

我正在尝试上传一个 800MB 的文件。它从上传开始,但在 3% 时跳回 0% 第二次上传达到 3% 我得到“这个网页不可用”。 我试图将 php.ini 更改为:

php_value upload_max_filesize 3000M
php_value post_max_size 3000M
php_value max_execution_time 3600
php_value max_input_time 3600

但它仍然无法正常工作。

在我以前的服务器上它可以工作,但我有一个新服务器,现在它无法正常工作。

我该如何解决这个问题?

我发现了这个错误:

2014/09/18 20:23:26 [error] 5864#0: *332 client intended to send too large body: 732825880 bytes, client: xx.xxx.xx.xx, server: {domain}, request: "POST /upload HTTP/1.1", host: " {domain}", referrer: " {domain}"

【问题讨论】:

  • 它可能在 Apache 服务器的 LimitRequestBody 中,但也可能是网络问题...
  • @Wrikken 我认为这不是网络问题,因为它仍在我以前的服务器上运行。
  • ...是什么让您认为您的新服务器与旧服务器具有完全相同的物理网络?您是否正在积极地将相同的 UTP 电缆放在不同的 NIC 中?尽管如此,limitrequestbody 似乎可能是一个,但是负载均衡器/网络/防火墙/代理,介于两者之间的一切都可以发挥作用。话虽这么说:您确实检查了phpinfo() 输出以验证您的 php.ini 更改卡住了吗?
  • @Wrikken 是的,我检查了 phpinfo() 一切都变了。
  • @Wrikken 我在哪里可以更改limitrequestbody?查看了 apache 配置,但找不到。

标签: php linux apache file-upload


【解决方案1】:

我修好了,

在 nginx.conf 中改变了这个

client_header_timeout           1000m;
client_body_timeout             1000m;
client_header_buffer_size       2k;
client_body_buffer_size         1000m;
client_max_body_size            1000m;

现在它可以工作了!谢谢你的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 2019-01-21
    相关资源
    最近更新 更多