🗣 Wd提问: php连接mysql 无法加载模块
🤖 Ai回答: 在 PHP 中连接 MySQL 时出现“无法加载模块”错误,通常意味着 PHP 没有正确加载 MySQL 扩展(如 `mysqli` 或 `pdo_mysql`)。以下是常见原因和解决方法:
🔍 常见错误提示
Fatal error: Uncaught Error: Call to undefined function mysqli_connect()
或
PHP Warning: PHP Startup: Unable to load dynamic library 'mysqlnd' ...
这说明 PHP 没有加载 MySQL 相关扩展。
✅ 解决方案
✅ 1、检查 PHP 是否启用了 MySQL 扩展
方法一:查看 `phpinfo()`
创建一个文件 `info.php`:
php
<?php
phpinfo();
?
访问该文件,搜索关键词:
`mysqli`
`PDO MySQL`
`mysqlnd`
如果没找到,说明扩展未启用。
✅ 2、启用 MySQL 扩展
对于 Windows 用户(使用 PHP 官方 ZIP 包)
1、打开你的 PHP 安装目录(例如:`C:\php\`)
2、找到 `php.ini` 文件(如果没有,复制 `php.ini-production` 改名为 `php.ini`)
3、打开 `php.ini`,取消注释以下行(去掉前面的分号):
ini
;extension=mysqli
;extension=pdo_mysql
改为:
ini
extension=mysqli
extension=pdo_mysql
注意:如果你使用的是 PHP 8+,`mysql` 扩展已废弃,推荐使用 `mysqli` 或 `PDO`。
4、保存 `php.ini`,重启 Web 服务器(Apache/Nginx)或重启服务。
对于 Linux / Ubuntu / Debian
bash
sudo apt update
sudo apt install php-mysqli php-pdo php-mysql
然后重启 Apache/Nginx:
bash
sudo systemctl restart apache2
或
sudo systemctl restart nginx
对于 CentOS / RHEL
bash
sudo yum install php-mysqli php-pdo php-mysql
或使用 dnf(CentOS 8+)
sudo dnf install php-mysqli php-pdo php-mysql
重启服务:
bash
sudo systemctl restart httpd
✅ 3、检查 PHP 版本与扩展兼容性
确保你使用的扩展名称符合当前 PHP 版本。例如:
| PHP 版本 | 推荐扩展 |
| PHP 7.x | `mysqli`, `pdo_mysql` |
| PHP 8.x | `mysqli`, `pdo_mysql`(注意:旧的 `mysql` 扩展已移除) |
⚠️ 不要使用 `mysql_*` 函数(已废弃,不推荐)。
✅ 4、验证是否成功加载
写一个测试脚本:
php
<?php
if (function_exists('mysqli_connect')) {
echo MySQLi 扩展已加载!;
} else {
echo MySQLi 扩展未加载!;
}
?
或者:
php
<?php
var_dump(extension_loaded('mysqli'));
var_dump(extension_loaded('pdo_mysql'));
?
✅ 5、如果是使用 Docker 或其他环境
确保镜像中包含 MySQL 扩展。例如,在 `Dockerfile` 中:
dockerfile
RUN docker-php-ext-install mysqli pdo_mysql
✅ 6、检查 PHP 配置文件路径
有时你修改了错误的 `php.ini` 文件。可以运行:
php
<?php
echo php_ini_loaded_path();
?
确认你修改的是正确的配置文件。
🧪 示例:连接 MySQL
php
<?php
$host = 'localhost';
$user = 'root';
$password = '';
$dbname = 'test';
// 使用 mysqli
$conn = mysqli_connect($host, $user, $password, $dbname);
if (!$conn) {
die(连接失败: 、mysqli_connect_error());
}
echo 连接成功!;
?
✅ 总结
| 步骤 | 操作 |
| 1 | 确认 PHP 版本 |
| 2 | 检查 `php.ini` 是否启用 `mysqli` 和 `pdo_mysql` |
| 3 | 安装缺失的 PHP 扩展(Linux) |
| 4 | 重启 Web 服务器 |
| 5 | 测试是否能调用 `mysqli_connect()` |
如果你告诉我你使用的系统(Windows/Linux)、PHP 版本、Web 服务器(Apache/Nginx),我可以提供更具体的命令帮助你解决。
需要我帮你写一个完整的 `php.ini` 配置吗?
📣 商家广告:





0
IP地址: 46.38.56.165
搜索次数: 4
提问时间: 2025-11-08 11:50:46
🛒 域名购买:
41.gold
sou.gg
a-s.cn
gu.cx
zf.gs
yw.gs
8.hi.cn
08.gold
40.gold
psyshake.com
❓️ 热门提问:
.net域名注册
steam官网网址注册
PHP源码轨迹回放
日本云服务器哪个好
99元云服务器
低价香港云服务器
火山服务器购买
公司服务器品牌排行
测试机柜价格
美国网站主机
豌豆Ai站群搜索引擎系统
🌐 域名评估:
yw.gs
axlo.cn
x.bj.cn
xz.gs
5a.jx.cn
catl.sh.cn
p.sd.cn
pqhn.cn
xuiz.cn
obou.cn
⛏ 最新挖掘:
凯里酸汤鱼
贵阳烤脑花
都匀毛尖茶
花溪牛肉粉
贵阳烤生蚝
贵阳烤豆腐
贵阳纸包鱼
贵阳特色菜
🖌 热门作画:
🤝 关于我们:
豌豆Ai
域名
建站
站群
留痕
推广
评估
源码
开发Ai
工具
日记
价格
加盟
广告
流量
留言
联系
🗨 加入群聊:
🔗 友情链接:
谷歌左侧排名
乐山网站建设公司
ai提问
🧰 站长工具:
Ai工具 whois查询 搜索
📢 温馨提示:本站所有问答由Ai自动创作,内容仅供参考,若有误差请用“联系”里面信息通知我们人工修改或删除。
👉 技术支持:本站由豌豆Ai提供技术支持,使用的最新版:《豌豆Ai站群搜索引擎系统 V.25.10.25》搭建本站。