在php集成环境中,上传数据库文件的时候可能会遇到文件内存不足和数据量过大无法上传,甚至会报错等问题,也许没遇到过这种问题可能不知道怎样去解决。在上传文件中,牵涉到的几个配置选项有几个,如下:
1、memory_limit 内存大小限制
2、 max_execution_time 程序执行时间限制
3、post_max_size 最大POST数据限制
4、upload_max_filesize 最大上传文件大小限制
所以从逻辑顺序上来讲:
memory_limit>post_max_size>upload_max_filesize,前提是max_execution_time设置时间足够长。
我上传大文件时就遇到过如下问题
一开始还不知道是什么问题,通过自己摸索找到了解决方法,如下:
在php.ini配置文件中修改三个参数选项配置,更改上述所讲的三个配置,max_execution_time配置可默认为30秒,也可以更改。
三个参数配置可根据自己的实际需求来进行更改,如memory_limit = 30M,post_max_size = 200M,upload_max_filesize = 300M等,之后重新apache服务器即可。
注意:memory_limit参数不要设置过大,否则会影响系统速度,因为系统和数据库及其他程序同样需要内存空间,一般系统和数据库内存空间是自己分配的。