Здравствуйте! Периодически в логах вываливается
Warning: Error while sending QUERY packet. PID=36408
в скрипте на mysqli_query:
foreach ($aData as $p_id=>$p_ip) {
$p_req = "SELECT ip FROM base WHERE ip='".$p_ip."'";
$p_res = mysqli_query($db,$p_req);
if ($p_res) {
if (mysqli_num_rows($p_res)==0) $p_row[] = $aData[$p_id];
mysqli_free_result($p_res);
}
}
Обратился к хостеру. Написали: добавьте следующую строку, возможно обернув в функцию mysql_query:
SET SESSION max_allowed_packet = 256M
Добавил
mysqli_query($db, ‘SET @@global.max_allowed_packet = ’ . 256*1024*1024 );
Не помогло.
Погуглил и добавил еще
mysqli_query($db, ‘SET @@global.wait_timeout = ’ . 60 );
Все равно Warning вылазит. Скрипт, то маленький. Цикл не более 2000 раз за запуск. Памяти должно хватать.
Читал, что для max_allowed_packet нужно значение длины запроса умноженное на 1024. Длина моего запроса не превышает 50 байт. Запрос за один проход выполняется за 0,0004 сек. База занимает 1,75Мб.
Куда копать? Или хостера дергать?
Буду благодарен за любую помощь.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости