昨天项目上线了,但我发现上传大文件时,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)
真的不知道该怎么解决了,还望各位指教。谢谢!!
【下午13:31更新】我刚才重装了PHP,然而问题还在。(通过YUM安装。yum -y install php72w php72w-cli php72w-common php72w-devel php72w-embedded php72w-fpm .....)这是我的php-fpm.conf配置:然而在Linux上重启PHP报错,无法加载。
【14.58更新】我更改了配置文件,PHP-fpm确实是可以正确重启了。也自动生成了配置文件。但我重新尝试下载,等了20几秒,尝试了好几次。日志仍然是空的。应该不是权限的问题。难道问题不出在PHP身上?还是某种原因,日志没正确写入?
【15.48更新】我测试了一下,接收文件的PHP,直接返回结束。结果,前端还是要等很长时间。可能是Nginx的反向代理,或者什么原因导致的。
2 回答
![?](http://img1.sycdn.imooc.com/54586453000163bd02200220-100-100.jpg)
慕姐4208626
TA贡献1852条经验 获得超7个赞
php-fpm.conf开启php的slowlog
另外麻烦做个测试 在/tmp
目录下新建一个20M的文件,linux上面mv到你的PHP上传后的目录
4:00更新
- 检查slowlog权限
- request_slowlog_timeout = 5 没有单位
- 2 回答
- 0 关注
- 311 浏览
添加回答
举报
0/150
提交
取消