MySQL PHP 不相容:解決神秘錯誤
透過PHP 5.3.0 連接到遠端MySQL 資料庫時,使用者可能會遇到一個一個資料庫時,使用者可能會遇到一個神秘的錯誤錯誤,導致連線失敗。這些警告訊息通常表示 OK 封包的預期長度不匹配以及過時的身份驗證機制。
經過調查,發現根本問題源自於 MySQL 帳號的密碼長度。如果密碼長度為 16 個字符,則可能是舊密碼哈希,與 PHP 5.3.0 使用的 mysqlnd 驅動程式不相容。
要解決此問題,請使用以下命令重設受影響的 MySQL 帳戶的密碼:新的。這可以透過執行以下 SQL 語句來完成:
SET PASSWORD FOR 'username'@'hostmask' = PASSWORD('thepassword')
作為潛在的替代方案,檢查 MySQL 伺服器是否已配置為預設使用或建立舊密碼。這可以透過檢查伺服器設定來驗證。此外,在有問題的伺服器上執行以下查詢將提供進一步的見解:
SELECT Length(`Password`), Substring(`Password`, 1, 1) FROM `mysql`.`user` WHERE `user`='username'
將「使用者名稱」替換為 mysql_connect() 中使用的實際帳號名稱。傳回的值將指示密碼的長度和第一個字符,提供有關錯誤根本原因的更多資訊。
以上是為什麼我無法使用 PHP 5.3.0 連接到遠端 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!