Несовместимость MySQL с PHP: понимание ошибки подключения и ее решения
Обнаружение ошибки «ОК пакет на 6 байт короче, чем ожидалось» при подключении к удаленная база данных MySQL с PHP версии 5.3.0 может стать загадочной проблемой. Чтобы решить эту проблему, крайне важно понять основную причину и применить соответствующее решение.
Ошибка указывает на несовместимость между локальной версией PHP и удаленным сервером MySQL. Версии PHP 5.3.0 и выше требуют, чтобы пароли учетных записей MySQL были хешированы с использованием нового плагина аутентификации MySQL. Однако более старые версии MySQL, такие как 5.0.22, могут по-прежнему использовать старый метод аутентификации с 16-значными паролями. Это несоответствие приводит к ошибке, поскольку PHP 5.3.0 не может правильно интерпретировать ответ от сервера MySQL.
Для решения этой проблемы существует два возможных решения:
Чтобы определить, использует ли учетная запись старый 16-значный пароль, выполните запрос:
SELECT Length(`Password`), Substring(`Password`, 1, 1) FROM `mysql`.`user` WHERE `user`='username'
На проблемном сервере 5.0.22 замена 'username' на соответствующую учетную запись. Если в результате длина пароля равна 16, а первым символом является шестнадцатеричная цифра (0–9 или A–F), это указывает на старый пароль.
Поняв основную причину и применив соответствующее решение, вы можете устранить несовместимость MySQL с PHP и установить успешное соединение с удаленной базой данных.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3