当前位置:

首页 > 编程开发 > phpEnv如何开启mysqli扩展 phpEnv数据库连接支持

phpEnv如何开启mysqli扩展 phpEnv数据库连接支持

phpEnv默认未启用mysqli扩展,需手动配置。首先确认当前PHP版本对应的php.ini文件路径,可通过命令行或创建phpinfo页面查找。编辑该文件,找到并取消注释extension=mysqli相关行,保存后重启Web服务。最后通过命令行、phpinfo页面或测试代码验证扩展是否成功加载。切换PHP版本后需重新配置。

phpEnv如何开启mysqli扩展 phpEnv数据库连接支持

phpEnv如何开启mysqli扩展 phpEnv数据库连接支持

很多开发者初次使用phpEnv时,都会遇到一个典型的“拦路虎”:代码里调用mysqli_connect()或者new mysqli()时,页面直接报错,提示“Class ‘mysqli’ not found”或者函数未定义。这背后的原因其实很简单:phpEnv默认并不会自动启用mysqli扩展。你必须手动完成配置修改和重启服务这两步,否则数据库连接就无从谈起。

确认 phpEnv 当前使用的 php.ini 路径

这里有个关键点需要特别注意:phpEnv这类多版本管理器,通常会为每个PHP版本维护独立的配置文件。这意味着,你不能想当然地去修改系统默认的php.ini,否则很可能做了无用功。

那么,如何找到真正生效的那个配置文件呢?有两个方法:

  • 命令行确认:打开终端,运行 php -i | grep “Loaded Configuration File”。这条命令会告诉你命令行(CLI)模式下PHP加载的是哪个配置文件。
  • Web环境确认:如果你是通过Apache或Nginx访问网页,那么还需要确认Web服务器使用的配置。方法是在网站根目录创建一个info.php文件,内容写上,然后在浏览器中访问它。在显示的页面里搜索“Loaded Configuration File”,就能找到Web服务器实际读取的php.ini路径。

常见的路径格式可能是C:\phpenv\versions\8.2.12\php.ini(Windows系统)或者/home/user/.phpenv/versions/8.2.12/etc/php.ini(Linux/macOS系统)。

启用 mysqli 扩展的三步操作

好消息是,在phpEnv中,mysqli扩展通常已经随PHP一起编译好了,只是默认被“封印”了起来。我们的任务就是解除这个封印,过程并不复杂。

  • 第一步:编辑配置文件。用你习惯的文本编辑器(如Notepad++、VS Code)打开上一步确认的php.ini文件。
  • 第二步:取消注释。在文件中搜索extension=mysqli(Linux/macOS系统)或者extension=php_mysqli.dll(Windows系统)。找到后,确保这一行开头没有分号;。如果看到的是;extension=mysqli,只需把那个分号删掉即可。
  • 第三步:检查并重启。顺带看一眼extension_dir这个配置项,确保它指向了正确的扩展目录(例如extension_dir = “ext”或一个绝对路径)。最后,也是最关键的一步:保存文件,然后重启对应的Web服务或PHP-FPM进程。在Windows上可能需要重启Apache服务,在Linux/macOS上,如果phpEnv提供了管理命令(如phpenv restart)就用它,否则需要手动重启PHP-FPM。

验证 mysqli 是否真正生效

配置改完、服务重启,是不是就万事大吉了?别急,经验告诉我们,很多问题就出在“以为开了,其实没开”这个环节。验证环节必不可少,它能帮你区分是扩展没加载,还是数据库本身连接有问题。

立即学习“PHP免费学习笔记(深入)”;

  • 命令行验证:运行php -m | grep mysqli。如果看到输出mysqli,说明命令行环境下的扩展已经加载成功。如果没有,那说明你修改的php.ini可能不是CLI模式使用的那个。
  • Web环境验证:再次访问之前创建的info.php页面,在页面中搜索“mysqli”。如果扩展已启用,这里会显示完整的mysqli模块信息,包括客户端API版本和是否支持mysqlnd驱动。
  • 实战代码测试:写一段最简单的连接测试代码,这是最直接的验证方式:
    connect_error) {
        die('mysqli 扩展已加载,但连接失败:' . $conn->connect_error);
    }
    echo '✅ mysqli 可用且能连通';
    ?>
    运行这段代码,如果提示“Class ‘mysqli’ not found”,那铁定是扩展根本没加载起来。如果提示连接被拒绝或密码错误,那反而说明扩展已经生效了,问题出在数据库服务或账号权限上。

最后,还有两个容易踩的坑需要提醒:第一,当你使用phpEnv切换PHP版本后,新版本的php.ini配置并不会继承旧版本的修改,每次切换版本,都需要重新检查并启用mysqli。第二,某些精简版的phpEnv构建可能默认没有包含mysqlnd驱动,这会导致即使mysqli扩展加载了,也无法完全支持utf8mb4字符集或预处理语句等高级功能。这时,你需要确认当前PHP是否编译时包含了mysqlnd支持。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
作者最新文章
编程开发
相关文章 更多
phpEnv如何配置站点支持HTTP/2协议
phpEnv如何配置站点支持HTTP/2协议

先说一个基本认知:phpEnv本身不管HTTP/2这回事。它就是个Windows下的PHP环境管理工具,跟XAMPP一个路子。真正决定支不支持HTTP/2的,是它集成的Web服务器——默认是Apache,部分版本也支持Nginx。所以“配置phpEnv站点支持HTTP/2”,本质上就是确认并启用它内

phpEnv解决PHP Fatal error: Class ‘DomDocument’ not found
phpEnv解决PHP Fatal error: Class ‘DomDocument’ not found

在phpEnv多版本管理工具中,DOMDocument报错是由于dom扩展默认未启用。解决办法:首先确认php.ini配置文件,取消extension=dom前面的注释符号,或者手动添加该行代码,同时检查extension_dir配置路径是否正确。其次,如果编译PHP时缺少libxml2开发库,则需要先安装该库,再重新安装PHP版本。

phpEnv配置本地多域名hosts文件 phpEnv域名解析教程
phpEnv配置本地多域名hosts文件 phpEnv域名解析教程

配置本地多域名需修改系统hosts文件与Apache虚拟主机,三者域名必须严格一致。hosts文件路径固定,格式严格,需管理员权限。Apache需启用虚拟主机模块,确保ServerName、DocumentRoot正确,Requireallgranted,改后必须重启。phpEnv不自动写入hosts,需手动添加。

phpEnv解决PHP Warning: count(): Parameter must be phpEnv
phpEnv解决PHP Warning: count(): Parameter must be phpEnv

PHP7.2+中count()函数要求参数必须为数组或Countable对象,否则触发Warning。修复方法包括:调用前用is_countable()判断;临时降级PHP或调整error_reporting;用grep批量扫描危险调用。

phpEnv如何部署ShopXO商城 phpEnv开源电商系统搭建
phpEnv如何部署ShopXO商城 phpEnv开源电商系统搭建

phpEnv无法部署ShopXO,因PHP版本不足8.0、缺少必要扩展、伪静态不可配置且存在权限问题。推荐使用小皮面板(phpStudy)部署,选择PHP8.0+、MySQL5.7+,配置伪静态规则及目录权限,并务必手动启用warehouse插件方可成功。

phpEnv配置Nginx负载均衡之Fair算法 phpEnv响应时间优化
phpEnv配置Nginx负载均衡之Fair算法 phpEnv响应时间优化

phpEnv集成的Nginx因缺少第三方公平调度模块而无法使用该算法,且本地开发中公平调度易导致请求集中与误判,反而造成不稳定。通过配置最大失败次数、失败超时时间并调整FastCGI超时参数,可有效替代公平算法,实现负载均衡并优化响应时间。

phpEnv配置Laravel目录权限 phpEnv storage权限设置
phpEnv配置Laravel目录权限 phpEnv storage权限设置

Windows下phpEnv运行Laravel时,storage目录权限故障常因UAC、继承中断或杀毒软件干扰所致。需为当前用户、SYSTEM及Administrators授予修改权限并启用继承,bootstrap/cache同样处理。避免使用Everyone或777权限。每次拉取新代码后应检查权限设置。

phpEnv修改PHP内存限制 phpEnv memory_limit配置
phpEnv修改PHP内存限制 phpEnv memory_limit配置

phpEnv仅切换PHP版本,内存限制由当前php.ini的memory_limit控制。修改对应文件,单位大写如512M,保存重启生效。临时可用php-dmemory_limit=1G覆盖,注意版本格式。

phpEnv配置自动压缩图片 phpEnv Nginx图片优化
phpEnv配置自动压缩图片 phpEnv Nginx图片优化

phpEnv无自动压缩,需用PHP或NginxWebP自适应。JPEG质量75-80,PNG无透明时转JPEG更省空间。WebP需检测客户端支持及同名文件。Nginxgzip对图片无效,应配置WebP自适应加缓存规则。

phpEnv如何修改MySQL的innodb_log_file_size 优化数据库写入
phpEnv如何修改MySQL的innodb_log_file_size 优化数据库写入

在phpEnv中修改MySQL的innodb_log_file_size时,需先停止数据库服务,删除旧日志文件,修改配置参数,然后重启并确保进程完全退出。对于8.0.30及以上版本,应使用innodb_redo_log_capacity参数替代。日志容量需根据写入压力合理设置,过大将导致崩溃恢复时间延长。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

PDF教程
PDF教程

正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

Mac软件 更多
Postman macOS版
Postman macOS版
Mac

Postman是一套面向API全生命周期的开发与测试平台,可在Mac上发送和调试多种协议请求,管理集合、环境及认证信息,并完成脚本测试、模拟服务、监控、文档发布和团队协作。它适合开发、测试及运维人员使用,提供个人免费方案。

Docker Desktop macOS版
Docker Desktop macOS版
Mac

Docker Desktop 是 Docker 官方为 Mac 提供的容器开发环境,集成 Docker Engine、命令行工具、Compose、Build、Kubernetes 与图形化管理界面。

Android Studio macOS版
Android Studio macOS版
Mac

Android Studio 是 Google 面向安卓应用开发提供的官方集成开发环境,基于 IntelliJ IDEA 构建。它整合智能代码编辑、Gradle 构建、界面预览、设备模拟、性能分析、调试测试及 APK 分析等工具。

WINDOWS 更多
PixPix 网页版
PixPix 网页版
Windows

PixPix 是面向品牌、卖家和内容团队的在线 AI 图片视频创作平台,提供图视频 Agent、无限画布、图片生成、视频生成、自然语言编辑及商品套图、产品精修和带货视频等电商工具。

Postman Windows版
Postman Windows版
Windows

Postman 是面向 API 全生命周期的开发与协作平台。Windows 桌面版可用于构建和发送 HTTP、GraphQL、gRPC、WebSocket、MQTT 等请求,并提供环境变量、集合、脚本测试、模拟服务、监控、文档及团队工作区等

Docker Desktop Windows版
Docker Desktop Windows版
Windows

Docker Desktop 为 Windows 开发者提供集成式容器环境,内置 Docker Engine、命令行工具、Compose、Build 与 Kubernetes 等组件,可在本机完成镜像构建、容器运行、日志查看和资源管理。