MySQL PHP 비호환성: 연결 오류 및 해결 방법 이해
연결 시 "OK 패킷이 예상보다 6바이트 짧습니다." 오류 발생 PHP 버전 5.3.0을 사용하는 원격 MySQL 데이터베이스는 수수께끼 같은 문제가 될 수 있습니다. 이 문제를 해결하려면 근본 원인을 이해하고 적절한 해결 방법을 적용하는 것이 중요합니다.
이 오류는 로컬 PHP 버전과 원격 MySQL 서버 간의 비호환성을 나타냅니다. PHP 버전 5.3.0 이상에서는 MySQL 계정에 새로운 MySQL 인증 플러그인을 사용하여 해시된 비밀번호가 있어야 합니다. 그러나 5.0.22와 같은 이전 MySQL 버전에서는 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이고 첫 번째 문자가 16진수(0-9 또는 A-F)이면 이전 비밀번호를 나타냅니다.
원인을 이해하고 적절한 해결 방법을 적용하면 다음과 같은 조치를 취할 수 있습니다. MySQL PHP 비호환성을 해결하고 원격 데이터베이스에 성공적으로 연결합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3