緩解 PHP 中的「mysqli_connect:客戶端未知的驗證方法 [caching_sha2_password]」
使用 MySQL 的 mysqli_nect與本機資料庫進行驗證時,您可能會遇到神秘的錯誤,「mysqli_connect(): 伺服器要求的驗證方法未知至用戶端[caching_sha2_password]。」此錯誤是由於伺服器使用的驗證外掛程式與用戶端期望的身份驗證插件不匹配而引起的。
MySQL Server ini 檔案規定了用於伺服器連線的預設驗證外掛程式。預設情況下,此設定配置為“caching_sha2_password”,表示伺服器支援 caching_sha2_password 驗證方法。在您的情況下,您的伺服器已進行相應配置。
相反,您的 PHP 程式碼嘗試使用舊版身份驗證方法進行連接,例如「mysql_native_password」方法。這種不匹配會導致身份驗證失敗並導致上述錯誤。
解決方案
要解決此問題,您可以修改 PHP 程式碼使用的驗證方法以符合伺服器的預設設定。或者,您可以變更 MySQL Server ini 檔案以指定與 PHP 程式碼相容的身份驗證外掛程式。以下是一些可能的解決方案:
在 MySQL 伺服器上啟用 mysql_native_password 外掛程式:
修改PHP 程式碼以使用caching_sha2_passwordwordsqls:
修改PHP 程式碼以使用caching_sha2_passwordword 話> ) 函數將MYSQLI_OPT_AUTH_PLUGIN 選項設定為"caching_sha2_password."以上是如何修復 PHP 中的「mysqli_connect:客戶端未知的身份驗證方法 [caching_sha2_password]」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!