PHP代码中使用post参数上传大文件

PHP代码中使用post参数上传大文件

发表于2013年11月21日sylar 3,834 viewsphp

今天连续碰到了两个同事向我反应上传大文件(8M)失败的事情!nginx

都是在PHP代码中一般使用post参数进行上传文件时,当文件的大小大于8M时,上传不能不成功。php-fpm

首先,我想到了nginx的client_max_body_size参数,这个参数限定了nginx接收的http请求的body的最大值。在nginx.conf配置文件中client_max_body_size设置的值是8M。增大该值,reload nginx以后从新测试。若是文件仍然不能上传,这时引发该错误的缘由最大的可能性与php的配置有关。post

查看php的错误日志,里面的记录以下测试

PHP Warning: POST Content-Length of 8947356 bytes exceeds the limit of 8388608 bytes in Unknown on line 124spa

提示很明显,POST参数最大值也是8388608bytes(8M),修改php.ini中的post_max_size参数值,重启php-fpm服务进程,便可解决问题。日志

另外须要注意php.ini配置文件中的file_uploads、upload_max_filesize、memory_limit 等参数值。进程

相关文章
相关标签/搜索