嗨,我收到错误消息:
[1153] Got a packet bigger than 'max_allowed_packet'bytes
但是我没有对我的源代码进行任何更改,托管表明它们在服务器设置方面没有进行任何更改。
我不知道发生了什么 但是我试图找到原因。
那么,如何max_allowed_packet通过php脚本检查mysql变量?
max_allowed_packet
并且可以在源代码中进行设置吗?
max_allowed_packet 在mysql配置中设置,而不是在php端设置
[mysqld] max_allowed_packet=16M
您可以在mysql中看到它的当前值,如下所示:
SHOW VARIABLES LIKE 'max_allowed_packet';
您可以尝试像这样更改它,但是这不太可能在共享主机上起作用:
SET GLOBAL max_allowed_packet=16777216;
您可以在这里阅读有关它的信息http://dev.mysql.com/doc/refman/5.1/en/packet-too- large.html
编辑
max_allowed_packet至少从mysql 5.5版开始,[mysqld]是运行该程序所必需的。
最近,使用Drupal和Solr搜索引擎在AWS EC2上设置了一个实例,该实例需要32M max_allowed_packet。您[mysqld_safe]在/etc/my.cnf中的(默认设置是mysql安装随附的)模式下设置值,则没有任何效果。我没有研究这个问题。但是在我将其更改为[mysqld]并重新启动mysqld之后,它开始工作了。
[mysqld_safe]
[mysqld]