答案是php环境缺少exif扩展,需通过修改php.ini启用或使用包管理器安装,如ubuntu执行sudo apt-get install php-exif,然后重启服务并验证exif是否启用成功。

出现 “The requested PHP extension exif is missing” 错误,说明你的 PHP 环境缺少 exif 扩展。这个扩展用于读取和写入图像文件中的元数据(如照片的拍摄信息),很多 PHP 框架或包(如 laravel、Imagine 等)依赖它。
1. 确认是否已安装 exif 扩展
运行以下命令查看当前启用的扩展:
php -m | grep -i exif
如果输出包含 exif,说明已启用;如果没有,则需要启用或安装。
2. 启用 exif 扩展
exif 扩展通常是 PHP 的一部分,只需在配置中启用即可。 步骤如下:
- 找到你的 php.ini 文件。可通过
php --ini查看加载的配置文件路径。 - 打开 php.ini,搜索
;extension=exif或;extension=php_exif。 - 去掉前面的分号 ;,使其变为:
extension=exif - 保存文件并重启 Web 服务器或 PHP-FPM(如使用 nginx/apache)。
注意:windows 用户可能还需要确保 php_mbstring 在 exif 之前被加载,因为 exif 依赖 mbstring。
3. linux 系统(如 Ubuntu/debian)安装方法
如果 exif 扩展未包含在当前 PHP 安装中,可通过包管理器安装:
sudo apt-get install php-exif
如果你使用的是特定版本的 PHP(如 PHP 8.1),请指定版本:
sudo apt-get install php8.1-exif
立即学习“PHP免费学习笔记(深入)”;
安装后无需手动修改 php.ini,通常会自动启用。
4. 验证是否生效
创建一个 PHP 文件,写入:
<?php phpinfo(); ?>
在浏览器中访问该文件,搜索 exif,确认模块已加载。 或者在终端运行:
php -r "echo extension_loaded('exif') ? 'exif enabled' : 'exif not enabled';"
基本上就这些。确保 php.ini 正确加载且扩展已启用,composer 就不会再报 exif 缺失错误。


