PHP扩展在Ubuntu上的安装与管理
在安装PHP扩展前,需确保系统包列表是最新的,避免因依赖问题导致安装失败:
sudo apt update
APT是Ubuntu默认的包管理工具,适用于大多数常见PHP扩展(如mysql、curl、gd等),操作简单且能自动处理依赖。
通过apt install命令安装指定扩展,语法为php-<扩展名>(如php-mysql、php-curl)。例如安装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文件(内容为<?php phpinfo(); ?>),在浏览器中访问查看扩展信息。
安装或修改扩展后,需重启Web服务器使更改生效:
sudo systemctl restart apache2
sudo systemctl restart php-fpm
sudo systemctl restart nginx
PECL是PHP官方扩展库,提供更多第三方扩展(如redis、imagick等),需手动编译安装。
PECL依赖php-pear(PEAR包管理器)和php-dev(PHP开发工具),安装命令:
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-FPM)对应的php.ini文件中添加:
extension=redis.so
保存后重启Web服务器。
若扩展不在APT或PECL中,可从源码编译安装(如定制化修改扩展代码)。
从扩展官方网站或GitHub仓库下载源码包(如php-mysqlnd):
wget https://github.com/php/php-mysqlnd/archive/master.zip
unzip master.zip
cd php-mysqlnd-master
phpize生成编译配置:phpize
./configure
make
sudo make install
在php.ini中添加扩展配置(路径参考make install输出):
extension=mysqlnd.so
重启Web服务器。
php.ini路径是否正确(可通过php --ini确认),确保extension=xxx.so语句无语法错误。apt安装所需依赖(如libpng-dev用于GD扩展):sudo apt install libpng-dev
通过以上方法,可完成Ubuntu上PHP扩展的安装、管理与维护,满足不同场景的需求。