我在windows中使用cakephp 2.4开发应用程序,我需要在其中创建Image上传工具。但是当我使用exif_imagetype
时,它给了我致命的错误。因此,使用此代码,我检查是否安装了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
答案 0 :(得分:2)
EXIF
扩展是PHP发行版的标准部分,但必须在php.ini文件中启用它才能使用其功能。在Windows上,EXIF
扩展还依赖于mbstring,这是一个提供多字节字符串解析的扩展。而且,php.ini文件中启用扩展的顺序很重要。如果在mbstring之前启用exif,则EXIF
函数在运行时将不可用。
在您的情况下已启用,但php_exif.dll
未启用。
如果您需要在您的环境中使用EXIF
功能,无论是开发还是生产,您都需要牢记这一点。默认情况下,扩展按字母顺序在php.ini文件中排序。这使得当你开始撞墙时很容易遇到这种情况,因为即使你同时启用了EXIF和mbstring扩展,你也没有意识到为什么function_exists('exif_imagetype')
会一直返回FALSE。
删除评论;
并启用EXIF
功能
答案 1 :(得分:1)
删除分号(;)
在:
;extension=php_exif.dll
后:
extension=php_exif.dll
保存php.ini,然后重启wampserver