安装PHP拓展前需先确认PHP版本、运行模式、包管理器及环境类型;Linux推荐用apt/dnf/yum安装预编译拓展,pecl适用于redis等非内置拓展,Windows直接启用php.ini中的.dll;务必重启服务并验证CLI与Web双环境。
PHP拓展安装前先确认当前环境
别急着敲命令,先搞清楚你用的是什么 PHP 版本、运行模式(CLI 还是 FPM)、包管理器(apt/yum/dnf/brew)以及是否用了 Docker 或一键环境(如 XAMPP、宝塔、MAMP)。php -v 和 php -i | grep "Configure Command" 能帮你快速定位编译参数;php --ini 告诉你配置文件在哪,php -m 列出已加载的拓展——这些是后续判断“装没装上”“为什么没生效”的依据。
Linux 下用包管理器安装常见拓展(推荐新手)
多数基础拓展(如 curl、gd、mbstring、xml)在系统仓库里已有预编译包,比源码编译稳定且省事。Ubuntu/Debian 用 apt,CentOS/RHEL 8+ 用 dnf,7 及以前用 yum:
-
sudo apt install php-curl php-gd php-mbstring php-xml php-zip(Ubuntu/Debian) -
sudo dnf install php-curl php-gd php-mbstring php-xml php-zip(CentOS 8+/AlmaLinux/Rocky) - 装完后记得重启 Web 服务:
sudo systemctl restart apache2或sudo systemctl restart php-fpm - 注意拓展名和包名不一定一致:比如
pdo_mysql对应的包通常是php-mysql或php-pdo,不是php-pdo-mysql
用 pecl 安装非内置拓展(如 redis、swoole)
pecl 是 PHP 官方拓展分发渠道,适合安装社区维护的拓展。它本质是用 phpize + ./configure + make + make install 封装的工具,但依赖系统开发头文件(如 php-dev 或 php-devel):
- 先确保装了开发包:
sudo apt install php-dev(Ubuntu)或sudo dnf install php-devel(CentOS) - 执行
pecl install redis,过程中可能提示输入路径,默认回车即可 - 安装成功后,
pecl会告诉你扩展的.so文件位置(如/usr/lib/php/20220829/redis.so),你需要手动加到php.ini中:extension=redis.so - 如果报错 “Cannot load module”,大概率是
.so路径写错、PHP 版本不匹配(比如用 PHP 8.2 编译的.so加载到 PHP 8.1)、或 SELinux 阻止了加载(CentOS 上可临时用setenforce 0测试)
Windows 下启用拓展只需改 php.ini
Windows 官方二进制包自带大部分常用拓展的 .dll 文件(位于 ext/ 目录下),不用编译,只用开启: