You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP7.0环境下GD库已启用却无法检测到的问题求助

问题原因分析

你的问题主要出在两个核心点上:

  1. Kubuntu 17.10 已停止官方支持:Artful Aardvark(17.10)早在2018年就结束了生命周期,官方软件源不再维护,所以php7.0-gd包已被从源中移除,自然找不到安装候选。
  2. PHP.ini 配置格式错误:你修改的配置里写的是Windows系统的.dll扩展格式,但Linux下PHP扩展的后缀是.so;而且Debian/Ubuntu系的PHP扩展通常通过conf.d目录下的配置文件自动加载,不需要手动在php.ini里开启。
解决方案

这里提供两种可行路径,你可以根据需求选择:

方案一:升级PHP到7.1(推荐)

你的系统源里已经有PHP7.1的完整包,且php-gd已经默认安装到7.1版本,直接升级是最省心的选择:

  1. 安装PHP7.1及对应GD模块:
    sudo apt-get install libapache2-mod-php7.1 php7.1-cli php7.1-gd
    
  2. 切换Apache的PHP模块到7.1:
    sudo a2dismod php7.0
    sudo a2enmod php7.1
    sudo systemctl restart apache2
    
  3. 验证:访问phpinfo()页面,或者运行你的检测脚本,就能看到GD库已正常加载。

方案二:修复源并安装PHP7.0-gd(不推荐,仅测试环境用)

如果必须保留PHP7.0,需要切换到Ubuntu的归档源(但注意:归档源不会提供安全更新,生产环境绝对不要用):

  1. 备份原有源文件:
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. 编辑源文件,替换为旧版本归档源:
    sudo gedit /etc/apt/sources.list
    
    将所有http://archive.ubuntu.com/ubuntu和http://security.ubuntu.com/ubuntu替换为http://old-releases.ubuntu.com/ubuntu
  3. 更新源并安装php7.0-gd:
    sudo apt-get update
    sudo apt-get install php7.0-gd
    
  4. 重启Apache生效:
    sudo systemctl restart apache2
    
额外注意事项
  • 不要手动在php.ini里添加extension=php_gd2.dll这类Windows格式的配置,Linux下PHP7.0的GD扩展会在安装后自动生成/etc/php/7.0/apache2/conf.d/20-gd.ini配置文件,自动加载扩展。
  • 注意区分CLI版本和Apache版本的PHP:php -v显示的是命令行版本的PHP,而Apache使用的是mod_php版本,两者的配置文件路径不同,确保你修改的是Apache对应的/etc/php/7.0/apache2/php.ini。

内容的提问来源于stack exchange,提问作者Run

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:48:17