我一直试图在我的网络服务器上发现一个问题,这只会导致文件上传失败。我还创建了一个简单的 php 脚本来测试上传,当上传失败但我没有收到任何排序错误或日志消息。我一直在测试的文件有 86mb,我已经增加了以下与上传相关的 php 设置并重新启动了 apache:
memory_limit 1024MB
post_max_size 512MB
upload_max_filesize 256MB
不管我做了什么改变,问题仍然存在,上传只适用于小文件。我正在使用 php7.3、apache 2.4.39 和 CentOS 7.6。
我所做的另一项测试是更改upload_tmp_dir
为自定义文件夹,并且我能够检查在上传文件时是否创建了一个临时文件,直到它以某种方式失败并且文件被删除。还尝试禁用 SELinux,但结果是一样的。
检查指令的 Apache 配置
LimitRequestBody
。默认为 0,允许无限制的上传大小,但它可能已被自定义。在 Apache 和 PHP 配置中,上传大小限制必须足够。问题是由 引起的
reqtimeout_module
,添加以下代码来/etc/httpd/conf/httpd.conf
解决问题。