Apache+PHP内网环境下视频上传失败,如何排查解决?

apache+php内网环境下视频上传失败,如何排查解决?

Apache与PHP内网环境视频上传失败问题及解决方案

在Apache和PHP搭建的内网环境中,视频上传经常遭遇失败,即使已调整php.ini中的upload_max_filesize和post_max_size参数。本文将分析一个案例,该案例中部分MP4视频上传失败并返回connection_reset错误,且问题仅限于内网环境。本地和外网环境上传正常。

问题并非后端PHP代码问题,因为代码仅验证文件是否上传成功,这表明问题可能出在文件上传至PHP处理之前的网络连接或Apache服务器端。

解决方案:

立即学习PHP免费学习笔记(深入)”;

解决此问题需要检查并调整Apache和PHP的配置。

首先,修改Apache配置文件,设置LimitRequestBody参数,例如:LimitRequestBody 10240000 (限制请求体大小为10MB)。此参数限制Apache接收请求体数据的最大值,超过此值则拒绝请求。

其次,仔细检查并调整php.ini中的以下参数:

  • upload_max_filesize = 100M: 允许上传文件最大值。
  • post_max_size = 100M: PHP通过POST接收数据的最大值。
  • max_execution_time = 600: 每个PHP页面运行的最大时间(秒)。
  • max_input_time = 600: 每个PHP页面接收数据所需的最大时间(秒)。
  • memory_limit = 128M: 每个PHP页面使用的最大内存。

这些参数需根据实际情况调整,确保足够大以支持大文件上传。 即使设置了这些参数,网络上传速度过慢仍可能导致失败。max_execution_time和max_input_time参数尤其重要,因为大文件上传耗时较长,时间限制过短会导致上传中断。

通过调整Apache的LimitRequestBody和php.ini中的上述参数,通常可以解决内网环境下部分视频上传失败的问题。如果问题依然存在,则需进一步排查网络配置、防火墙设置等其他因素。

以上就是Apache+PHP内网环境下视频上传失败,如何排查解决?的详细内容,更多请关注php中文网其它相关文章!

https://www.php.cn/faq/1240342.html

发表回复

Your email address will not be published. Required fields are marked *