- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Всем привет
Есть простой скрипт php. Код примерно такой
на локалхосте Openserver работает нормально. но на впс беда MySQL server has gone away .
в массиве $requests у меня два значения. в первом случае ответ $bad . и тут логи в таблицу пишет. а вот потом уже нет. MySQL server has gone away
если б скрипт долго работал то так. а то пол минуты от силы. подскажите как решить
Оперативной памяти хватает?
Ну и логи почитайте, обычно там все ответы.
Оперативной памяти хватает?
Ну и логи почитайте, обычно там все ответы.
памяти хватает. логи где смотреть?
вот такое
Ваше подключение закрывается пока ждет. Можете поставить большее значение в настройках, но это приведет к возможной деградации системы, проще делать реконнект если соединение потеряно
у меня класс для работы с бд .там есть как я понимаю проверка на соединение. если его нет. то пере подкл
вот оно
у меня класс для работы с бд .там есть как я понимаю проверка на соединение. если его нет. то пере подкл
вот оно
Соединение с базой вы открываете до начала цикла (инициируете переменную $db)
затем наступает момент
и вот тут вероятно соединение не дождавшись ответа закрывается по таймауту. Либо поднимайте таймаут либо открывайте и закрываете подключение в цикле
вот оно
А вы проверьте, оно точно доходить до этого условия?
А вы проверьте, оно точно доходить до этого условия?
да
если в my.cnf wait_timeout увеличить то вроде и работает. но я запускать его буду с консоли и он может работать и по 5 10мин.
так что wait_timeout ставить 300-600 не очень хотелось бы. тут либо логи в файл . либо в sqlite . либо то что написал Dram
если в my.cnf wait_timeout увеличить то вроде и работает. но я запускать его буду с консоли и он может работать и по 5 10мин.
ну обычно всегда так демонов пишем, есть какой то код, он оборачивается в try/catch и если в try выскакивает sql исключение просто ловим его и переподключаемся, в вашем случае перед работой с бд можно выполнить запрос 'select 1' обернутый в try/catch и если подключения нет то пере подключить, я писал демонов которые месяцами работали без перезапуска, а вы 5-10 минут. PS или можно просто пинговать постоянно БД, тогда она не отключится в этом подключении )))