max_allowed_packet är inställd i mysql config, inte på php-sidan
[mysqld]
max_allowed_packet=16M
Du kan se det aktuella värdet i mysql så här:
SHOW VARIABLES LIKE 'max_allowed_packet';
Du kan försöka ändra det så här, men det är osannolikt att det kommer att fungera på delad värd:
SET GLOBAL max_allowed_packet=16777216;
Du kan läsa om det här https://dev .mysql.com/doc/refman/5.1/en/packet-too-large.html
REDIGERA
[mysqld] är nödvändigt för att göra max_allowed_packet fungerar sedan åtminstone mysql version 5.5.
Nyligen konfigurerade en instans på AWS EC2 med Drupal och Solr Search Engine, som krävde 32M max_allowed_packet . Om du ställer in värdet under [mysqld_safe] (vilket är standardinställningarna kom med mysql-installationen) läge i /etc/my.cnf, det fungerade inte. Jag grävde inte ner mig i problemet. Men efter att jag ändrat det till [mysqld] och startade om mysqld, det fungerade.