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

来源:互联网 发布:绝地求生海魂衫 淘宝 编辑:程序博客网 时间:2024/06/06 03:16

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

  修改phpmyadmin上传文件大小限制主要分修改php.ini配置文件和phpmyadmin配置文件两个步骤。

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

  此步骤与一般的PHP.INI配置文件上传功能方法一致,需要修改php.ini配置文件中upload_max_filesizepost_max_size两个选项值,具体修改方法请参考:PHP.INI配置:文件上传功能配置教程。

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

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

  第三步:修改phpmyadmin配置文件

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

  1、修改phpmyadmin config配置文件中的$cfg['ExecTimeLimit']配置选项,(phpmyadmin/libraries/config.default.php)默认值是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配置文件中的相关信息修改这段代码。

  第四步:修改apache或者nginx配置文件,这里以nginx配置文件nginx.conf为例:

         打开 nginx 配置文件 nginx.conf,找到 http{} 段,在其中添加一行配置:

           client_max_body_size 8m;

         其中 8m 可以根据需要上传文件大小自行设定。

          修改之后一定要重新载入 nginx 。

 至此,完成了全部过程,解决了phpmyadmin上传文件大小。