我正在 Windows 中使用 cakephp 2.4 开发应用程序,我需要在其中创建图像上传工具。但是当我使用 exif_imagetype 时,它给了我 fatal error 。因此,使用此代码我检查了 exif 工具是否安装
if (function_exists('exif_imagetype')) {
echo "This function is installed";
} else {
echo "It is not";
}
并且显示 exif 工具未安装。但在 php.ini 中我可以看到这部分
;extension=php_bz2.dll
;extension=php_curl.dll
;extension=php_dba.dll
extension=php_mbstring.dll
;extension=php_exif.dll
;extension=php_fileinfo.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_gmp.dll
;extension=php_intl.dll
;extension=php_imap.dll
我不知道出了什么问题。谁能帮我解决这个问题。
我的 php 版本是 5.4.3,我使用的是 wampserver
最佳答案
EXIF
扩展是 PHP 发行版的标准部分,但必须在 php.ini 文件中启用它才能使用其功能。在 Windows 上,EXIF
扩展还依赖于 mbstring,这是一个提供多字节字符串解析的扩展。此外,在 php.ini 文件中启用扩展的顺序很重要。如果在 mbstring 之前启用 exif,则 EXIF
函数在运行时将不可用。
mbstring 扩展必须在 EXIF 之前启用!
在您的情况下已启用,但 php_exif.dll
未启用。
如果您需要在您的环境中使用 EXIF
函数,无论是开发还是生产,您需要牢记这一点。默认情况下,扩展名在 php.ini 文件中按字母顺序排列。这使得当您开始用头撞墙时很容易遇到这种情况,因为您没有意识到为什么即使您同时启用了 EXIF 和 mbstring,function_exists('exif_imagetype')
仍然返回 FALSE扩展。
去掉注释;
并启用EXIF
功能
关于php - exif_imagetype 在 Windows 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20409548/