CentOS系统中mysqli扩展的安装与配置指南
在CentOS环境下为PHP添加mysqli扩展,可显著提升数据库操作效率,本文将详细介绍通过PECL(PHP Extension Community Library)或编译源码的方式完成安装,涵盖依赖处理、版本匹配及常见问题排查等关键环节。

前置准备:环境检查与工具安装
在开始安装前,需确保系统满足基础条件:
- PHP版本确认:运行
php -v查看当前PHP版本(如4.33),后续需匹配对应版本的mysqli扩展。 - EPEL仓库启用:执行
yum install epel-release -y安装额外软件包源,解决依赖缺失问题。 - 开发工具链安装:通过
yum groupinstall "Development Tools" -y安装GCC、Make等编译工具;同时安装PHP开发包:yum install php-devel -y # 根据PHP版本选择对应包名(如php74-devel)
方法一:通过PECL快速安装(推荐)
PECL是官方推荐的PHP扩展管理工具,步骤简洁且自动处理依赖。
步骤1:安装PECL及MySQL开发库
yum install php-pear mysql-devel -y
php-pear提供PECL命令行工具;mysql-devel包含MySQL客户端头文件,用于编译mysqli扩展。
步骤2:搜索并安装mysqli扩展
pecl search mysqli # 确认扩展存在 pecl install mysqli
若遇“phpize找不到”错误,需先安装对应版本的php-devel包(如php74-phpize)。
步骤3:配置PHP加载扩展
安装完成后,编辑PHP配置文件(通常位于 /etc/php.ini 或 /etc/php.d/ 目录):
extension=mysqli.so
重启Web服务器(如Apache/Nginx)使配置生效:

systemctl restart httpd # Apache systemctl restart nginx # Nginx
方法二:手动编译源码安装(备用方案)
当PECL不可用时,可通过下载源码手动编译,以PHP 7.4为例:
步骤1:下载mysqli扩展源码
访问 PECL mysqli页面 下载对应版本的tar.gz包(如 mysqli-1.0.0.tgz)。
步骤2:解压并进入目录
tar zxvf mysqli-1.0.0.tgz cd mysqli-1.0.0
步骤3:编译并安装
phpize # 生成configure脚本 ./configure --with-mysql=/usr/bin/mysql_config # 指定MySQL配置路径 make && make install
若提示mysql_config未找到,需先安装mysql-devel包。
步骤4:配置与重启
同方法一,在php.ini中添加 extension=mysqli.so 并重启服务。
验证安装与故障排查
验证成功标志
创建测试PHP文件(如 test_mysqli.php如下:

<?php
echo extension_loaded('mysqli') ? 'mysqli已安装' : 'mysqli未安装';
?>
访问该文件,若输出“mysqli已安装”,则证明扩展加载成功。
常见问题及解决方案
| 问题现象 | 可能原因 | 解决方法 |
|---|---|---|
| 编译时缺少MySQL头文件 | 未安装mysql-devel |
执行 yum install mysql-devel -y |
| PHP无法加载扩展 | 配置文件路径错误 | 检查php.ini中extension_dir是否指向扩展所在目录 |
| 版本不兼容 | 扩展与PHP版本 mismatch | 重新下载对应版本的mysqli扩展 |
相关问答FAQs
Q1:为什么安装后仍提示“mysqli函数不存在”?
A:可能因PHP配置文件未正确加载扩展,请检查 php.ini 中 extension=mysqli.so 是否被注释(去掉),并确认扩展文件存在于 extension_dir 指定的目录(可通过 php -i | grep extension_dir 查看)。
Q2:能否在不重启服务器的情况下测试扩展?
A:可以,使用 php -m | grep mysqli 命令查看CLI模式下是否加载扩展;若仅影响Web环境,修改php.ini后重启Web服务即可,无需重启整个系统。
通过以上步骤,您可在CentOS系统中顺利完成mysqli扩展的安装,若遇特定版本兼容性问题,建议优先参考官方文档或社区论坛获取针对性支持。