PHP--关于上传文件大小的问题
参考:https://www.cnblogs.com/jianqingwang/p/5863960.html
https://blog.csdn.net/u013168253/article/details/79663167
https://www.cnblogs.com/spaceship9/p/3186668.html
如果文件过大,除了编程的时候设置文件大小的代码外,还要在服务器上设置!
如果要修改上传的文件大小限制,可以参考下面的做法:
1. 一般的文件上传,除非文件很小.就像一个5M的文件,很可能要超过一分钟才能上传完.
但在php中,默认的该页最久执行时间为 30 秒.就是说超过30秒,该脚本就停止执行.
这就导致出现 无法打开网页的情况.这时我们可以修改 max_execution_time
在php.ini里查找
max_execution_time
默认是30秒.改为
max_execution_time = 0
0表示没有限制
2. 修改 post_max_size 设定 POST 数据所允许的最大大小。此设定也影响到文件上传。
php默认的post_max_size 为2M.如果 POST 数据尺寸大于 post_max_size $_POST 和 $_FILES superglobals 便会为空.
查找 post_max_size .改为
post_max_size = 150M
3. 很多人都会改了第二步.但上传文件时最大仍然为 8M.
为什么呢.我们还要改一个参数upload_max_filesize 表示所上传的文件的最大大小。
查找upload_max_filesize,默认为8M改为
upload_max_filesize = 100M
另外要说明的是,post_max_size 大于 upload_max_filesize 为佳.
如果出现#2006 - MySQL server has gone away报错
应用程序(比如PHP)长时间的执行批量的MYSQL语句。
最常见的就是采集或者新旧数据转化。
【解决办法】
将以下代码添加到my.ini文件中。
1 max_allowed_packet=50M 2 wait_timeout=288000 3 interactive_timeout = 288000
2020年:
或者在php代码中添加:
ini_set('max_execution_time', '0');//设置永不超时,无限执行下去直到结束