宝塔面板虽然提供了便捷的PHP扩展管理功能,但有时我们需要手动添加一些官方未提供的扩展。以下是详细的操作步骤。
# 查看已安装的PHP版本
ls /www/server/php/
# 设置环境变量(以PHP7.4为例)
export PATH=/www/server/php/74/bin:$PATH
# 搜索可用扩展
pecl search 扩展名
# 安装扩展(以redis为例)
pecl install redis
# 如果遇到依赖问题,先安装依赖
yum install -y 依赖包名 # CentOS
apt-get install -y 依赖包名 # Ubuntu/Debian
# 查看php.ini位置
php --ini
# 编辑php.ini文件
vim /www/server/php/74/etc/php.ini
# 在文件末尾添加
extension=redis.so
/etc/init.d/php-fpm-74 restart
# 进入源码目录
cd /www/server/php/74/src
# 下载扩展(以swoole为例)
wget https://github.com/swoole/swoole-src/archive/master.tar.gz
tar zxvf master.tar.gz
cd swoole-src-master
# 使用phpize准备编译环境
/www/server/php/74/bin/phpize
# 配置并编译
./configure --with-php-config=/www/server/php/74/bin/php-config
make && make install
# 编辑php.ini
vim /www/server/php/74/etc/php.ini
# 添加扩展
extension=swoole.so
/etc/init.d/php-fpm-74 restart
# 命令行验证
php -m | grep 扩展名
# 或创建phpinfo页面查看
echo "<?php phpinfo(); ?>" > /www/wwwroot/test.php
pecl命令不存在:
yum install php-pear # CentOS
apt-get install php-pear # Ubuntu/Debian
编译错误:
yum groupinstall "Development Tools"
扩展不生效:
/www/server/php/74/var/log/php-fpm.log
版本不兼容:
pecl install redis-4.3.0
通过以上方法,您可以在宝塔面板中灵活地添加各种PHP扩展,满足项目需求。