首页 > 常识 > 互联网 > 网站制作 > 数据安全

导出数据库 受限于 PHP 中 max_input_vars 值的配置

作者:  时间:2023-05-19
描述:当前表单包含的字段多于 1000,受限于 PHP 中 max_input_vars 值的配置,该次提交有可能忽略其中一部分。
导出数据库的时候跳出来警告提示框:当前表单包含的字段多于 1000,受限于 PHP 中 max_input_vars 值的配置,该次提交有可能忽略其中一部分。

建议最好是把这个的问题反馈给服务器提供商由他们来处理,因为有时候你自己修改后无效果,没有权限。

文章一

数据库到了后期会越来越大,当达到一定大小phpmyadmin 导出数据库就会报“phpmyadmin 表单包含的字段多于 1000,受限于 PHP 中 max_input_vars 值的配置”的错误。但是数据库要备份怎么办呢?

方法一:修改php配置

修改php.in配置如下:

max_execution_time = 300     ; Maximum execution time of each script, in seconds

max_input_time = 300     ; Maximum amount of time each script may spend parsing request data

max_input_vars = 5000

你的服务器如果开启了php缓存的话可能单纯的只是重启php是不会马上看到效果的。

方法二:mysql命令行备份导出

1、首先你得有管理员权限

2、我们先给phpmyadmin做一些优化改动方便日后网站运维(当然你也可以无视跳过此步骤)

到phpMyAdmin 的安装目录下找到config.sample.inc.php 文件,执行命令

cp config.sample.inc.php config.inc.php

vi config.inc.php

复制并改名为 config.inc.php 并打开编辑,(如果已经有了就直接编辑即可)

找到$cfg['UploadDir'] = '';和$cfg['SaveDir'] = '';

把他们改成$cfg['UploadDir'] = 'upload';和$cfg['SaveDir'] = 'save';保存退出

然后在phpMyAdmin 的目录下执行命令:

mkdir upload

mkdir save

创建两个空目录,upload 和 save

然后回到phpMyadmin刷新下你会看到

phpmyadmin 导出数据库警告:表单包含的字段多于 1000,受限于 PHP 中 max_input_vars 值的配置

这样导出的数据库文件会自动保存在save文件夹下,导入数据库文件我们也只需要把文件放到Upload文件夹下即可,这样就避免了因文件太大而失败,剩下的就是把ftp指向这里方便上传和下载了。

3、导出数据库,执行命令并输入数据库管理员密码:

mysqldump -u root -p yourDataBaseName > /www/server/phpmyadmin/phpmyadmin_59efd4718c6626ff/save/1.sql

phpmyadmin 导出数据库警告:表单包含的字段多于 1000,受限于 PHP 中 max_input_vars 值的配置

完成后save文件夹下会有导出的数据库文件

 执行命令:zip -r 1.sql.zip 1.sql ,然后你就可以用ftp到save下面下载导出的数据库备份了。

最后来验证一下

执行命令:

 mv /www/server/phpmyadmin/phpmyadmin_59efd4718c6626ff/save/1.sql.zip /www/server/phpmyadmin/phpmyadmin_59efd4718c6626ff/upload

把save下面的数据库文件移动到upload下面

进入phpMyadmin新建一个数据库,导入

phpmyadmin 导出数据库警告:表单包含的字段多于 1000,受限于 PHP 中 max_input_vars 值的配置

如果导入失败则用sql命令行导入导出数据库这个是最靠谱的:
导入数据库
进入mysql数据库控制台,
mysql -u root -p

CREATE DATABASE `数据库名` DEFAULT CHARACTER SET UTF8 COLLATE UTF8_GENERAL_CI;
mysql>use 数据库名
然后使用source命令,后面参数为脚本文件(如这里用到的.sql)
mysql>source d:/dbname.sql

导出数据库

无需进入控制台,直接命令行:键入数据库密码即可

mysqldump -u root -p dbName > /www/wwwroot/oliviaso/FileName.sql

无任何异常,收工。 

文章二

PHP最大表单提交限制“max_input_vars上限1000”解决方法

今天我在用phpMyAdmin备份导出SQL的时候,结果提示:

警告:当前表单包含的字段多于1000,受限于PHP中max_input_vars值的配置,该次提交有可能忽略其中一部分。

原因:由于我一个数据库里面的表大约有300张的样子,所有的字段加起来肯定超过了1000。不可能平均一张表还没有4个字段吧!这毕竟是正式项目,又不是测试着玩的。

1、max_input_vars 表示的是:可以接受多少个 GET/POST/COOKIE 输入变量。

2、php.ini配置中 max_input_vars 默认值是1000。如果此配置被屏蔽掉,也代表默认1000。

3、如非必要,尽量不要将max_input_vars值变大,这种改大限制的方式也是治标不治本。

第一种方法:

将 php.ini 中 max_input_vars 值变大。例如:

max_input_vars = 5000
 
第二种方法:

将那些重复的提交信息组,提交前变成一个字段去提交。变成一个字段的方法例如:将信息组变成json或序列化成字符串。

最后,再给大家说说我是如何解决这个问题的?我的解决方法也很粗爆,由于表很多,我直将 max_input_vars 设置为 10000 ;重启PHP让配置生效。

再去用phpMyAdmin备份导出SQL。

备份导出SQL成功后,最后再回去 将 max_input_vars = 10000 改为 1000 再屏蔽掉它。再重启PHP让配置生效。

从手机浏览器访问《生活宝典》

站内搜索
  • 安全策略:网站与数据库不在同一个服务器
  • 运维数据库的时候,须防止意外断电的情况发生
  • 网站数据库基础与技巧
  • 早期版本宝塔面板数据库未授权访问漏洞
  • 模板修改后生成无反应 数据库模式需要更新缓存
  • 数据库无法导入的原因及解决办法
  • 首页从静态变设置为动态同时需要更新数据库缓存
  • MySQL数据库的远程连接相关问题
  • 各种数据库默认端口汇集
  • 开启数据库的远程访问服务
  • 微商帮
    世界网站大全
    中国科研团队:大象的长鼻子是如何越变越长了
    中国科研团队:大象的长
    自己是否能够像自己想的那样做成一件事,身旁人的判断会比自己准确
    自己是否能够像自己想
    火宫殿:吃喝玩乐看,烧香拜神佛,红火的庙会经济
    火宫殿:吃喝玩乐看,烧香
    眼见为实也不为实,更须谨慎看到的并非全貌
    眼见为实也不为实,更须