发布于2026-07-24 阅读(0)
扫一扫,手机访问
PHP扩展的安装与管理,在Ubuntu上其实有不少门道。今天就来聊聊三种主流方法:APT包管理器、PECL,以及源码编译。每种方法都有其适用场景,了解了这些,你就能根据实际需求灵活选择了。

动手之前,先确保系统包列表是最新的,这一步很关键,能避免不少依赖问题:
sudo apt update
APT是Ubuntu的默认包管理工具,操作简单,还能自动处理依赖。对于大多数常见的PHP扩展,比如mysql、curl、gd这些,用APT搞定是最省心的。
命令的语法是php-<扩展名>,比如安装MySQL扩展:
sudo apt install php-mysql
如果需要安装多个扩展,可以一次性列出,省得一条条敲:
sudo apt install php-mysql php-curl php-gd php-mbstring
用apt upgrade命令就能把已安装的扩展更新到最新版本:
sudo apt update
sudo apt upgrade php-mysql # 更新指定扩展
sudo apt upgrade php-* # 更新所有PHP扩展
通过apt remove卸载,它会同时删掉相关配置文件:
sudo apt remove php-mysql
如果想彻底清理残留配置,加上--purge参数就行:
sudo apt purge php-mysql
启用扩展用phpenmod,它支持多版本和SAPI,非常灵活:
sudo phpenmod mbstring # 启用mbstring扩展
sudo phpenmod -v all mbstring # 为所有PHP版本启用
禁用扩展则用phpdismod:
sudo phpdismod mbstring # 禁用mbstring扩展
sudo phpdismod -v 7.4 mbstring # 禁用PHP 7.4版本的扩展
通过php -m命令可以列出所有已加载的PHP扩展,检查目标扩展是否在列表中:
php -m | grep mbstring # 验证mbstring扩展是否加载
或者创建一个info.php文件(内容为),在浏览器中访问,扩展信息一目了然。
安装或修改扩展后,记得重启Web服务器,否则更改不会生效:
sudo systemctl restart apache2sudo systemctl restart php-fpm
sudo systemctl restart nginx当APT里找不到你想要的扩展时,比如redis、imagick这些,PECL就派上用场了。它是PHP官方的扩展库,提供大量第三方扩展,不过需要手动编译安装。
PECL依赖php-pear和php-dev,安装命令:
sudo apt install php-pear php-dev build-essential
用pecl install命令安装,比如安装Redis扩展:
sudo pecl install redis
安装过程中会有提示,根据需求确认配置选项即可。
安装完成后,需要在php.ini文件中添加扩展配置。先找到php.ini的路径:
php --ini
然后在cli和fpm对应的php.ini文件中添加:
extension=redis.so
保存后重启Web服务器,扩展就生效了。
如果APT和PECL都找不到你需要的扩展,或者你有定制化需求(比如修改扩展代码),那就只能从源码编译了。
从扩展的官方网站或GitHub仓库下载源码包:
wget https://github.com/php/php-mysqlnd/archive/master.zip
unzip master.zip
cd php-mysqlnd-master
phpize生成编译配置:phpize./configuremake
sudo make install在php.ini中添加扩展配置(路径参考make install的输出):
extension=mysqlnd.so
重启Web服务器,完成。
php.ini路径是否正确(用php --ini确认),确保extension=xxx.so语句没有语法错误。apt安装所需依赖,比如GD扩展需要libpng-dev:sudo apt install libpng-dev掌握了这三种方法,Ubuntu上PHP扩展的安装与管理基本就覆盖了。无论是日常开发还是生产环境,都能从容应对。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8