Windows下安裝php的擴展dll


  今天做PHP實驗需要連接MySQL數據庫,我電腦上之前已經安裝了MySQL服務,所以想直接用之前安裝的MySQL,不用XAMPP里的MySQL了。

  折騰了好長時間,總是提示

Warning: mysqli::__construct(): The server requested authentication method unknown to the client [caching_sha2_password] in F:\xampp\htdocs\Test\test.php on line 15

Warning: mysqli::__construct(): (HY000/2054): The server requested authentication method unknown to the client in F:\xampp\htdocs\Test\test.php on line 15
連接失敗: The server requested authentication method unknown to the client

  其實之前用Navicat連接MySQL的時候就出現過類似的問題,因為MySQL8.0密碼加密方式換成了[caching_sha2_password]方式,老版本Navicat還不支持,更新了就沒事了。然而不知道是我這XAMPP里的PHP版本低還是怎么回事,網上說7.x版本已經支持了[caching_sha2_password]密碼加密方式,但我這就一直報錯。

  后來看某些PHP教程發現有個擴展dll支持[caching_sha2_password]密碼加密方式:php_mysql_xdevapi.dll,然后就下載安裝了php_mysql_xdevapi.dll擴展。

1.下載適合PHP版本的dll

  PECL擴展dll可以在https://pecl.php.net/packages.php找,這個是非“核心”擴展庫,即不是XAMPP的PHP自帶的擴展dll,得下載才能用。

  下載前先查看PHP信息:

<?php
phpinfo();
?>

  注意看Architecture以及PHP Extension Build兩項(CTRL+F查)

  我是在https://pecl.php.net/package/mysql_xdevapi下載的php_mysql_xdevapi.dll,按照以上兩項下載以下這項。

2.解壓並將dll加入php.ini中

  注意看Loaded Configuration File以及extension_dir兩項(CTRL+F查)

  解壓后將dll文件復制到extension_dir的文件夾內。去Loaded Configuration File那打開php.ini文件,CTRL+F找extension=php_ftp.dll,在其之后加上extension=php_mysql_xdevapi.dll(貌似文件開頭直接加也可以)。

  重啟Apache服務器,查看PHP信息,CTRL+F找mysql_xdevapi,如果沒找到說明沒安裝上。

相關鏈接

  Windows安裝PHP擴展教程:https://www.php.net/manual/zh/install.pecl.windows.php

  Windows下php擴展下載:https://windows.php.net/downloads/pecl/releases/

  php_mysql_xdevapi.dll相關信息:https://www.php.net/manual/zh/book.mysql-xdevapi.php

后記

  擴展dll是安裝上了,然而毫無作用,因為不知道這個擴展里邊如何連接MySQL😂最后只能修改之前安裝的MySQL的密碼加密方式為[mysql_native_password]。

  更改密碼加密方式:https://blog.csdn.net/qq_36699423/article/details/81565906


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM