max_allowed_packet é definido na configuração do mysql, não no lado do php [mysqld]
max_allowed_packet=16M
Você pode ver seu valor atual no mysql assim:
SHOW VARIABLES LIKE 'max_allowed_packet';
Você pode tentar alterá-lo assim, mas é improvável que isso funcione na hospedagem compartilhada:
SET GLOBAL max_allowed_packet=16777216;
Você pode ler sobre isso aqui https://dev .mysql.com/doc/refman/5.1/en/packet-too-large.html
EDITAR
O [mysqld] é necessário para fazer o
max_allowed_packet trabalhando desde pelo menos a versão 5.5 do mysql. Configure recentemente uma instância no AWS EC2 com Drupal e Solr Search Engine, que exigiu 32 milhões de
max_allowed_packet . Se você definir o valor em [mysqld_safe] (que é a configuração padrão que veio com a instalação do mysql) no modo /etc/my.cnf, não funcionou. Não me aprofundei no problema. Mas depois de mudar para [mysqld] e reiniciei o mysqld, funcionou.