最直观办法是运行phpinfo()查看GD小节,确认gd.enabled为enabled、GD Version存在及jpeg/png/webp等格式标enabled;也可用extension_loaded('gd')返回布尔值验证,或命令行php -m | grep gd筛查CLI环境。
phpinfo() 看 GD 是否启用最直观的办法就是运行 phpinfo(),它会把所有已加载的扩展和配置原样打出来。GD 库状态就藏在 “gd” 小节里,重点看三处:gd.enabled(必须为 enabled)、GD Version(比如 bundled (2. 或 
system)、以及下方列出的图像格式支持(如 jpeg、png、webp 是否标 enabled)。
实操建议:
info.php 文件,内容只有一行:http://localhost/info.php(或你实际的本地地址)extension_loaded('gd') 写代码验证适合集成进脚本或部署检查逻辑中——比 phpinfo() 更轻量、更可控。这个函数返回布尔值,true 表示 GD 扩展已加载且可用;false 则说明没装、被禁用,或模块名写错了(注意是 'gd',不是 'gdlib' 或 'php_gd2')。
常见错误现象:
false 但 phpinfo() 显示 GD 已启用 → 可能是 CLI 和 Web 使用了不同 php.ini,需分别检查extension_loaded('gd') 为 true,但 imagecreatefromjpeg() 报错 → 说明 GD 编译时没带 JPEG 支持,得查 phpinfo() 里的 JPEG 行是否标 enabled
简短示例:
php -m | grep gd 快速筛查适用于调试 CLI 环境(比如 Laravel Artisan 命令、定时任务),也适合 CI/CD 脚本做前置检测。注意:该命令只反映 CLI 模式下的扩展列表,和 Apache/Nginx 下的 Web 环境可能不一致。
使用场景:
php -v 确认当前 CLI 使用的是哪个 PHP 版本和 php.ini
php -m | grep -i gd(加 -i 避免大小写问题)gd,再补一句 php -r "var_dump(gd_info());" 查看详细支持项很多环境看似启用了 GD,但调用 imagecreatefromwebp() 或 imagecreatefromavif() 仍报“undefined function”,这是因为 GD 的图像解码器是编译期开关控制的,不是扩展一开就全有。
关键判断依据只有两个:
phpinfo() 中 GD 小节下对应格式(如 WebP Support)是否为 enabled
php -r "print_r(gd_info()['webp']);" 输出是否为 1
容易被忽略的地方:macOS 上用 Homebrew 安装 PHP,默认 GD 不带 WebP 支持;Windows WAMP/XAMPP 旧版本默认不带 AVIF;Docker 镜像若基于 php:alpine,需手动 apk add --no-cache freetype-dev libpng-dev libjpeg-dev libwebp-dev 并重新编译 GD。