Ubuntu安装PHP扩展,gd、curl

在 Ubuntu 服务器上为 PHP 安装 gd、curl 和 redis 扩展,最直接的方法是使用 apt 包管理器安装对应扩展包,然后重启 PHP 服务。
本文从检查环境开始,逐步演示安装、配置和验证过程,确保你能让扩展真正生效。

先确认 PHP 版本和运行方式

Ubuntu 中 PHP 可能以 Apache 模块、PHP-FPM 或 CLI 方式运行。
安装扩展前,先确认当前使用的 PHP 版本,因为扩展包名通常包含版本号。

在终端执行:

php -v

输出会显示类似 PHP 8.1.2-1ubuntu2.14 的信息。
记下主版本号(如 8.1),后面安装扩展时需要用到。

如果服务器使用 PHP-FPM,还需要确认 FPM 服务名称:

systemctl status php8.1-fpm

将 8.1 替换为你实际的版本号。
若提示服务不存在,尝试 php7.4-fpm 或 php8.2-fpm。

安装 gd 和 curl 扩展

gd 扩展用于图像处理,curl 扩展用于发送 HTTP 请求。
这两个扩展在 Ubuntu 官方源中都有预编译包,直接安装即可。

更新软件包列表

sudo apt update

安装扩展包

sudo apt install php8.1-gd php8.1-curl

注意将 8.1 替换为你的 PHP 版本。
如果 PHP 是 7.4,则命令为:

sudo apt install php7.4-gd php7.4-curl

安装完成后,扩展的配置文件通常会自动放置在 /etc/php/8.1/mods-available/ 目录,并已通过软链接启用。
可以用以下命令确认:

ls /etc/php/8.1/mods-available/ | grep -E 'gd|curl'

安装 redis 扩展

redis 扩展不是 PHP 官方默认包含的,但 Ubuntu 源中提供了 php-redis 包。
推荐优先使用 apt 安装,简单且不易出错。

sudo apt install php8.1-redis

如果源中没有对应版本,或者你需要特定版本的 redis 扩展,可以使用 PECL 编译安装。
先安装编译工具和依赖:

sudo apt install php8.1-dev php-pear

然后执行:

sudo pecl install redis

安装过程中会询问一些配置选项,直接按回车使用默认值即可。
完成后,需要手动在 php.ini 中添加 extension=redis.so。

让扩展在 PHP 中生效

apt 安装的扩展通常会自动启用,但有时需要手动检查或重启服务。

检查扩展是否已启用

php -m | grep -E 'gd|curl|redis'

如果输出中包含 gd、curl 和 redis,说明扩展已加载。
如果没有输出,需要手动启用。

手动启用扩展

对于 apt 安装的扩展,可以创建软链接:

sudo phpenmod gd
sudo phpenmod curl
sudo phpenmod redis

如果 phpenmod 命令不存在,可以直接编辑 php.ini 文件。
找到对应 SAPI 的配置文件,例如 PHP-FPM 的:

sudo nano /etc/php/8.1/fpm/php.ini

在文件末尾添加:

extension=gd.so
extension=curl.so
extension=redis.so

保存后退出。
注意不同 SAPI(如 cli、fpm、apache2)有独立的 php.ini,如果 Web 和命令行都需要使用扩展,需要分别配置。

重启 PHP 服务

修改配置后必须重启服务:

sudo systemctl restart php8.1-fpm

如果使用 Apache 模块方式,则重启 Apache:

sudo systemctl restart apache2

验证扩展是否正常工作

重启后,再次检查:

php -m | grep -E 'gd|curl|redis'

如果通过 Web 运行 PHP,可以创建一个 info.php 文件放到网站根目录:

在浏览器访问该文件,搜索 gd、curl、redis,确认它们已出现在页面中。
检查完毕后请删除该文件,避免信息泄露。

对于 redis 扩展,还可以写一段简单代码测试连接:

connect('127.0.0.1', 6379);
    echo 'Redis connection: OK';
} catch (Exception $e) {
    echo 'Redis connection failed: ' . $e->getMessage();
}

将以上代码保存为 test-redis.php 并在浏览器访问,如果输出 Redis connection: OK,说明扩展和 Redis 服务连接均正常。

常见报错与避坑提示

  • 扩展安装后不生效:最常见的原因是 PHP 服务未重启,或者修改了错误的 php.ini。确认当前 SAPI 使用的配置文件路径,可以通过 php --ini 查看 CLI 的配置,通过 phpinfo() 查看 Web 的配置。
  • 提示 Unable to locate package php8.1-redis:说明当前系统源中没有对应版本的包,可以先执行 sudo apt update,如果依然没有,改用 PECL 编译安装。
  • PECL 安装时提示缺少 phpize:需要安装 php-dev 包,命令为 sudo apt install php8.1-dev。
  • redis 连接失败但扩展已加载:检查 Redis 服务是否运行,以及防火墙是否放行 6379 端口。如果 Redis 设置了密码,连接时需要调用 $redis->auth('密码')。
  • gd 扩展缺少 JPEG 支持:apt 安装的 gd 通常已包含常用格式支持,如果确实缺少,可安装 libjpeg-dev 后重新编译,但大多数场景下预编译包已够用。

完成上述步骤后,你的 Ubuntu 服务器上的 PHP 应该已经具备 gd、curl 和 redis 扩展。
建议每次修改配置后都通过 php -m 和 phpinfo() 双重确认,避免因 SAPI 差异导致扩展只在命令行生效而 Web 环境不可用。

分享到:
上一篇
Linux chmod与chown
下一篇
RockyLinux配置yum源
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意