Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 为什么max_allowed_数据包不起作用?_Php_Mysql - Fatal编程技术网

Php 为什么max_allowed_数据包不起作用?

Php 为什么max_allowed_数据包不起作用?,php,mysql,Php,Mysql,我正试图将大量数据放入数据库 我观察到,当数据远远大于1Mb时,我会得到一个500-Mysql已消失的错误 当数据接近1Mb标记时,我得到一个错误,表明已达到最大数据包大小 当数据小于或等于1Mb时,每次查询都成功 我在my.ini中查看了max_allowed_数据包(我在Windows机器上运行),并将其设置为16M,甚至将其增加到更高。我已经确定我也重新启动了mysql 但同样的行为正在发生。有没有其他我错过的场景?供您参考,我正在使用PHP运行查询 谢谢。您可以将允许的最大数据包设置为全

我正试图将大量数据放入数据库

我观察到,当数据远远大于1Mb时,我会得到一个500-Mysql已消失的错误

当数据接近1Mb标记时,我得到一个错误,表明已达到最大数据包大小

当数据小于或等于1Mb时,每次查询都成功

我在my.ini中查看了max_allowed_数据包(我在Windows机器上运行),并将其设置为16M,甚至将其增加到更高。我已经确定我也重新启动了mysql

但同样的行为正在发生。有没有其他我错过的场景?供您参考,我正在使用PHP运行查询


谢谢。

您可以将允许的最大数据包设置为全局变量。您可以动态设置此变量,而无需重新启动MYSQL服务

您可以将其增加到1GB。我建议将其设置为您希望插入的最大数据字符串的至少2倍。这会给你一些扩展的空间,因为下周你当然要处理一个比你预期的更大的文件


在这里可以看到一个从PHP代码动态设置max_allowed_数据包的示例:

我遇到了类似的问题,并通过在PHP.ini上增加上传\u max_文件大小内存限制文件句柄解决了这个问题,然后将
资源
绑定到参数。

结果表明,我需要在两个地方对其进行更改。我在phpMyAdmin上发现,在设置和变量下,允许的最大数据包数仍然是1M,尽管我在配置中更改了它

有了这些新信息,我能够集中搜索,这让我

设置@@global.max\u allowed\u packet=n

它向我展示了如何更改全局设置


问题是,我认为如果服务器重置,它会回到原来的状态,我需要对文件进行一些设置。更多我现在不需要的复杂问题。

它是什么类型的mysql列?你确定它是一个配置,而你的代码没有问题吗?我肯定它与代码无关。这个问题发生在两个不同的地方,在同一个数据库和服务器上。你找到解决这个问题的方法了吗?没有,还在四处寻找。我会尽快发布解决方案。我阅读了上传最大文件大小默认为2M。我可以检查一下,但我怀疑它是否缩水了