作为IT工程师,我为您整理了一份完整的宝塔面板PHP扩展安装指南,特别新增了对PHP7.1版本的支持。以下是详细的操作方法和脚本:
#!/bin/bash
# 宝塔面板PHP扩展安装脚本
# 使用方法:./install_php_ext.sh [PHP版本] [扩展名]
# 示例:./install_php_ext.sh 7.1 redis
PHP_VERSION=$1
EXT_NAME=$2
if [ -z "$PHP_VERSION" ] || [ -z "$EXT_NAME" ]; then
echo "Usage: $0 [PHP版本] [扩展名]"
echo "Example: $0 7.1 redis"
exit 1
fi
# 检查PHP版本是否存在
if [ ! -d "/www/server/php/${PHP_VERSION}" ]; then
echo "错误:PHP ${PHP_VERSION} 未安装!"
exit 1
fi
# 进入PHP扩展目录
cd /www/server/php/${PHP_VERSION}/src/ext/
# 下载并安装扩展
case $EXT_NAME in
redis)
wget -O ${EXT_NAME}.tgz https://pecl.php.net/get/${EXT_NAME}-4.3.0.tgz
tar zxvf ${EXT_NAME}.tgz
cd ${EXT_NAME}-4.3.0
;;
memcached)
# 安装依赖
yum install libmemcached-devel -y || apt-get install libmemcached-dev -y
wget -O ${EXT_NAME}.tgz https://pecl.php.net/get/${EXT_NAME}-3.1.5.tgz
tar zxvf ${EXT_NAME}.tgz
cd ${EXT_NAME}-3.1.5
;;
*)
wget -O ${EXT_NAME}.tgz https://pecl.php.net/get/${EXT_NAME}.tgz
tar zxvf ${EXT_NAME}.tgz
cd ${EXT_NAME}*
;;
esac
# 编译安装
/www/server/php/${PHP_VERSION}/bin/phpize
./configure --with-php-config=/www/server/php/${PHP_VERSION}/bin/php-config
make && make install
# 添加配置到php.ini
echo "extension=${EXT_NAME}.so" >> /www/server/php/${PHP_VERSION}/etc/php.ini
# 重启PHP服务
/etc/init.d/php-fpm-${PHP_VERSION} restart
echo "${EXT_NAME} 扩展已成功安装到 PHP ${PHP_VERSION}!"
PHP7.1需要特定版本的扩展,以下是常见扩展的兼容版本:
Redis扩展:推荐4.3.0版本
pecl install -f redis-4.3.0
Memcached扩展:推荐3.1.5版本
pecl install -f memcached-3.1.5
MongoDB扩展:推荐1.5.5版本
pecl install -f mongodb-1.5.5
ImageMagick扩展:推荐3.4.4版本
pecl install -f imagick-3.4.4
# 解决方案:安装对应PHP版本的开发包
yum install php71-php-devel # CentOS
apt-get install php7.1-dev # Ubuntu/Debian
# 检查步骤:
1. 确认php.ini中已添加extension=xxx.so
2. 检查扩展文件是否存在:
ls /www/server/php/7.1/lib/php/extensions/no-debug-non-zts-20160303/
3. 重启PHP服务:
/etc/init.d/php-fpm-7.1 restart
# 例如安装gd扩展需要先安装依赖:
yum install gd gd-devel -y
apt-get install libgd-dev -y
希望这份指南能帮助您顺利安装所需的PHP扩展。如需特定扩展的详细安装指导,可以提供扩展名称,我可以给出更具体的安装方案。