У меня есть сайт, удаленно удаленный от экземпляра Google Cloud SQL. Я установил и утвердил диапазон CIDR для этого. Я использую PHP (PDO) для подключения к экземпляру Google Cloud SQL с помощью приложения, созданного на платформе Laravel 5. Сам сайт развернут на Windows Azure, у меня нет выбора по поводу этого стека.
Моя проблема, вероятно, на 10% загрузок страницы, я получаю сообщение об ошибке:
SQLSTATE[HY000] [2006] MySQL server has gone away
При попытке настроить CIDR для этого в консоли разработчика (получение IP-адреса Azure и преобразование его в диапазон) у меня возникала эта проблема 100% времени, поэтому возможно, что она связана с авторизацией по IP, однако почему это работает 80-90% времени, а спорадически отказывать в применении?
Любая помощь приветствуется.
перейдите на созданный вами экземпляр sql cloud. В свойствах вы увидите «авторизованные приложения», нажмите «Управление» и добавьте в него идентификатор вашего проекта. надеюсь, что это работает для вас
Если ошибка произошла не из-за тайм-аутов / сброса соединения / ограничений по ресурсам, и вы подключались к облачному SQL через SSL: есть исправление, не перенесенное в < PHP 7.1 влияет на PDO и openssl. Первый связанный с SSL Сообщение об ошибке с MySQL server has gone away
Сообщение об ошибке появилось примерно в то время, когда вы задали вопрос. Обходной путь предлагается.
Скорее всего, в ~ 10% ваших запросов была вызвана внутренняя функция openssl.
Я знаю, что это старый, но в случае, если кто-то столкнулся с аналогичными проблемами, как я, это может помочь …
Удачи