PHP - 开启扩展[如: PHP 8.0 开启PDO, bcmath] - Windows - 学习/实践

1.应用场景

主要用于学习和实践在Windows上开启PHP扩展。

2.学习/操作

1.文档阅读

PHP: 在 Windows 上安装 PHP 扩展 - Manual

2.整理输出

简单说,就是有些功能必须要借助PHP扩展才能完成,所以,需要我们去开启,至于PHP的扩展都是干什么用,通常是要知道常用的即可,遇到陌生的再去查。

2.1 默认情况下, PHP 8.0 是没有启动任何自带扩展的。

php.ini  // 复制php.ini.development而来

2.2 测试使用PDO扩展连接数据库, mysql 8.0

访问如下: 

http://localhost:8889/testMysql.php

报错原因很清楚, 没有找到驱动, 也就是PDO扩展没有开启

解决办法:

开启pdo-mysql扩展

2.3 打开php.ini文件

找到扩展配置, pdo-mysql, 解开注释, 因为这里只是用到pdo连接MySQL, 所以暂时没必要开启其他扩展.

Note:

因为是第一次, 开启扩展, 所以, 要将扩展目录也要解开注释, 下图可以看到有详细的提示 []

选择Windows的选项, 解开注释:

即, 所有的PHP自带扩展动态链接库, 都存放在, 同级目录的ext目录下

2.4 重启服务器

本质上要重启PHP进程,重新加载配置文件,至于目前是否支持热重启/重载,Nginx应该是支持的。

但是PHP内置的http server怕是不支持的,毕竟只是为了本地开发而用。

FYI

支持配置改变,热重启的关键点在于: 检测配置文件的变化,然后使用当前进程处理当前请求,处理完毕,退出进程,同时使用新的配置文件,创建新的进程,处理接下来的请求。

这里使用PHP自带的服务器, 只要ctrl+c停止, 重新执行脚本即可

2.5 测试输出

1. 浏览器中查看phpinfo信息

可以看到pdo_mysql正常开启~~

2. 重新运行之前测试使用pdo连接MySQL的测试

http://localhost:8889/testMysql.php

正常连接mysql~~~~  [这里的MySQL是docker中容器MySQL服务器]

补充:

在查看php 8的信息时, 可看到, PHP 8.0的mysqlnd扩展, 支持的密码验证插件有:

mysqlnd,debug_trace,

auth_plugin_mysql_native_password,

auth_plugin_mysql_clear_password,

auth_plugin_caching_sha2_password,   // PHP 7.4 是不支持的~~~

auth_plugin_sha256_password

Note

以上只是开启PHP扩展,这些扩展其实已经跟随PHP源码安装到本机,只要开启即可。

但是如果是没有跟随PHP源码安装到本机中,比如xdebug,redis,swoole等扩展,

解决办法,参考:

PHP - PECL - PHP扩展库 - 学习/实践_穿素白衫的少年的博客-CSDN博客_php扩展库

PHP - Xdebug安装 - 学习/实践_穿素白衫的少年的博客-CSDN博客

但是这些都是Mac下进行安装的,不过Windows安装更加简单,只要下载扩展文件【通常都是预编译的二进制文件】,如xdebug

Xdebug: Downloads

下载文件如下:

 

将来下载的dll文件,复制/移动到,PHP可执行文件的同级目录的ext目录下,

同时编辑php.ini文件,添加

extension=xdebug

即可,然后重启PHP进程[也许是重启php-fpm即可,或者直接重启Nginx或者Apache],总之保证能加载新的配置文件即可。

后续补充

...

3.问题/补充

TBD

4.参考

参见上面文档列表

后续补充

...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值