Windows下PHP安装扩展dll

Posted dream0-0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
echo 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

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

后记

  扩展dll是安装上了,然而毫无作用,因为不知道这个扩展里边如何连接MySQL??最后只好老老实实用XAMPP自带的MySQL服务了。

  其实可以修改之前安装的MySQL的密码加密方式为[mysql_native_password],但是我怕改完之前的项目什么的又出问题,所以就没试这种方法。

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

以上是关于Windows下PHP安装扩展dll的主要内容,如果未能解决你的问题,请参考以下文章

WIN下如何在PHP扩展里打开openssl支持

windows下安装pthreads扩展注意问题

windows下安装rabbitmq的php扩展amqp

phpstudy windows10环境下怎么安装php_intl.dll扩展

Windows下安装xampp的PHP扩展(redis为例)

windows下安装oracle客户端和php扩展