昨天项目上线了,但我发现上传大文件时,PHP执行move_uploaded_file方法的速度特别慢。
几百KB的文件的话,很快,秒传。
但上传大小为15MB的文件时。上传本身很快,才10几秒。
但把“临时目录的文件”复制到“我指定的目录”,这个过程很慢!需要好几分钟!
PHP.ini的配置如下(Windows测试服务器是一样的配置,没有问题)
post_max_size 101M
upload_max_filesize 101M
max_execution_time = 120
max_input_time = 60
memory_limit = 256M
我通过find命令,搜索过Linux下的php.ini文件,确认只有这一个配置文件。
并且重启过php-fpm、重启过apache。
也测试过手动cp 15MB.zip,发现复制速度很快,秒复制。
文件可以上传,应该不是权限问题。(chmod 777/chmod a+rwx)
然而在Linux上重启PHP报错,无法加载。
【14.58更新】
我更改了配置文件,PHP-fpm确实是可以正确重启了。也自动生成了配置文件。
但我重新尝试下载,等了20几秒,尝试了好几次。日志仍然是空的。
应该不是权限的问题。难道问题不出在PHP身上?还是某种原因,日志没正确写入?
【15.48更新】
我测试了一下,接收文件的PHP,直接返回结束。
结果,前端还是要等很长时间。可能是Nginx的反向代理,或者什么原因导致的。
慕姐4208626