Ubuntu如何更新PHP扩展
导读:Ubuntu 更新 PHP 扩展的实用步骤 一 前置检查 确认当前 PHP 主次版本与 SAPI(CLI 或 FPM),不同版本的扩展包名不同: 查看版本:php -v 查看已加载模块:php -m 查看 php.ini 路径:php...
Ubuntu 更新 PHP 扩展的实用步骤
一 前置检查
- 确认当前 PHP 主次版本与 SAPI(CLI 或 FPM),不同版本的扩展包名不同:
- 查看版本:php -v
- 查看已加载模块:php -m
- 查看 php.ini 路径:php --ini
- 如使用 FPM,确认服务名:systemctl status php-fpm*(如 php8.1-fpm)
以上有助于确定要安装的扩展包名(如 php8.1-mysql、php8.1-redis)以及需要重启的服务。
二 使用 APT 更新扩展(推荐)
- 更新索引并升级已安装的扩展(会随系统升级到仓库中的最新版本):
- sudo apt update
- sudo apt upgrade php*
- 或仅升级某个扩展(将扩展名替换为实际包名,如 php-mysql、php-gd、php-curl):
- sudo apt install --only-upgrade php-< 扩展名>
- 若扩展包名包含版本号(如 php8.1-mysql),请带上对应的 PHP 版本 进行升级。
- 重启服务使扩展生效:
- Apache:sudo systemctl restart apache2
- Nginx + PHP-FPM:sudo systemctl restart php-fpm &
&
sudo systemctl restart nginx
使用 APT 能自动处理依赖与版本匹配,是最稳妥的方式。
三 使用 PECL 更新扩展(适用于仓库未提供或需新版的场景)
- 安装工具与依赖:
- sudo apt install php-pear php-dev
- 升级已安装的 PECL 扩展(以 redis 为例):
- 查看可用版本:pecl remote-info redis
- 升级到指定版本:sudo pecl upgrade redis
- 若之前未安装,可用:sudo pecl install redis
- 在对应 SAPI 的 php.ini 中启用扩展(路径因版本与 SAPI 不同,如 /etc/php/8.1/cli/php.ini、/etc/php/8.1/fpm/php.ini):
- 添加:extension=redis.so
- 重启服务:
- Apache:sudo systemctl restart apache2
- PHP-FPM:sudo systemctl restart php-fpm
通过 PECL 安装的扩展,升级后仍需在 php.ini 中确保启用,并重启相应服务。
四 验证与常见问题
- 验证扩展是否更新成功:
- 命令行:php -m | grep < 扩展名>
- 或创建 info.php:,在浏览器中访问并搜索扩展名。
- 若出现 “Module compiled with module API=… does not match PHP compiled with …” 等不兼容错误,说明扩展与当前 PHP API/编译版本 不一致。处理思路:
- 统一 PHP 版本与扩展来源(都走 APT 或都为同一 PHP 版本的 PECL)。
- 必要时重装扩展或调整 PHP 运行库版本,使其编译环境一致。
- 多版本并存时,务必为对应的 PHP 版本与 SAPI 安装/升级扩展,并分别重启 apache2 或 php-fpm。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu如何更新PHP扩展
本文地址: https://pptw.com/jishu/773276.html
