解决phpmyadmin上传文件大小限制的配置方法

解决phpmyadmin上传文件大小限制的配置方法php

 phpmyadmin导入SQL文件时涉及到phpmyadmin上传文件大小限制问题,默认phpmyadmin上传文件大小为2M,若是想要phpmyadmin上传超过2M大文件,就须要修改phpmyadmin上传文件的大小配置或者将大文件分几批上传,相对来讲修改phpmyadmin上传文件大小的限制来得方便不少。解决phpmyadmin上传文件大小限制问题涉及修改php.ini配置文件和phpmyadmin配置文件。linux

  修改phpmyadmin上传文件大小限制主要分修改php.ini配置文件php安装文件内)和phpmyadmin配置文件config.inc.php)两个步骤。安全

  第一步:修改php.ini配置文件中文件上传大小配置session

  此步骤与通常的PHP.INI配置文件上传功能方法一致,须要修改php.ini配置文件中upload_max_filesizepost_max_size两个选项值,具体修改方法请参考: 说到在php.ini中的文件上传的配置,其实在以前介绍PHP文件上传功能代码实例教程以及Jquery AjaxUpload实现文件上传功能代码实例教程时我都有所说起。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dirupload_max_filesizepost_max_size等选项。post

  php.ini中文件上传功能配置选项说明学习

  打开php.ini配置文件找到File Uploadsspa

  file_uploads = On教程

  默认容许HTTP文件上传,此选项不能设置为OFF内存

  upload_tmp_dir =ci

  默认为空,此选项在手动配置PHP运行环境时,也容易遗忘,若是不配置这个选项,文件上传功能就没法实现,这个选项设置的是文件上传时存放文件的临时目录,你必须给这个选项赋值,好比upload_tmp_dir =’/leapsoulcn’,表明在C盘目录下有一个leapsoulcn目录,和session配置同样,若是你是在linux环境下,你必须赋予这个目录可写权限。

  如何上传超过8M的大文件?

  上传大文件主要涉及配置upload_max_filesizepost_max_size两个选项。

  php.ini配置文件中的默认文件上传大小为2Mphp初学者容易犯的一个错误是在编写文件上传功能时经过设置上传文件最大大小的表单区域,即容许上传文件的最大值,max_file_size(隐藏值域)的值来规定上传文件的大小,其实通常别人能够绕过这个值,因此安全起见,最好是在php.ini配置文件中配置upload_max_filesize选项,设定文件上传的大小。

  默认upload_max_filesize = 2M,即文件上传的大小为2M,若是你想上传超过8M的文件,好比20M,你必须设定upload_max_filesize = 20M

  可是光设置upload_max_filesize = 20M仍是没法实现大文件的上传功能,你必须修改php.ini配置文件中的post_max_size选项,其表明容许POST的数据最大字节长度,默认为8M。若是POST数据超出限制,那么$_POST$_FILES将会为空。要上传大文件,你必须设定该选项值大于upload_max_filesize指令的值,我通常设定upload_max_filesizepost_max_size值相等。另外若是启用了内存限制,那么该值应当小于memory_limit选项的值。

  文件上传的其余注意事项

  在上传大文件时,你会有上传速度慢的感受,当超过必定的时间,会报脚本执行超过30秒的错误,这是由于在php.ini配置文件中max_execution_time配置选项在做怪,其表示每一个脚本最大容许执行时间()0 表示没有限制。你能够适当调整max_execution_time的值,不推荐设定为0

  至此,在php.ini配置文件中对文件上传选项进行配置的PHP教程就介绍完毕了,经过上面的步骤实践与学习,再结合PHP程序,文件上传功能就能够实现了。

  第二步:修改php执行时间及内存限制实现phpmyadmin上传大文件功能

  若是想要phpmyadmin上传大文件,还需修改php.ini配置文件中的max_execution_timephp页面执行最大时间)、max_input_timephp页面接受数据最大时间)、memory_limitphp页面占用的最大内存)三个配置选项,这是由于phpmyadmin上传大文件时,php页面的执行时间、内存占用也势必变得更长更大,其须要php运行环境的配合,光修改上传文件大小限制是不够的。

  第三步:修改phpmyadmin配置文件

  在完成php.ini的相关配置后,还须要修改phpmyadmin配置。

  1、修改phpmyadmin config配置文件中的$cfg['ExecTimeLimit']配置选项,默认值是300,须要修改成0,即没有时间限制。

  2、修改phpmyadmin安装根目录下的import页面中的$memory_limit

1
2
3
4
5
6
7
8
9

$memory_limit = trim(@ini_get('memory_limit'));
// 2 MB as default
if (empty($memory_limit)) {
   
$memory_limit = 2 * 1024 * 1024;
}
// In case no memory limit we work on 10MB chunks
if ($memory_limit == -1) {
   
$memory_limit = 10 * 1024 * 1024;
}

说明:首选读取php.ini配置文件中的内存配置选项memory_limit,若是为空则默认内存大小限制为2M,若是没有限制则内存大小限制为10M,你能够结合你php.ini配置文件中的相关信息修改这段代码。

  至此,通过修改php.ini配置文件中的文件上传配置选项以及phpmyadmin配置文件后,便可解决phpmyadmin上传文件大小限制问题,从而实现phpmyadmin上传大文件功能。

相关文章
相关标签/搜索