在使用时 php报出如下错误: Call to undefined function gemvary\exif_imagetype()
好吧,exif扩展没安装…
通过 打印phpinfo() 查看得知 mbstring 扩展是有的,exif扩展没有
如果mbstring也没有,也可以参考以下exif扩展的安装过程;
安装过程基本类似的;
进入主题:
1、查看当前环境PHP的版本号和安装目录
那么phpize的位置就是 /usr/local/php/bin/phpize
2、进入php的源码目录
进入扩展目录后进行初始化:
命令执行后当前目录会多几个文件,只要有 configure 这个文件就行
然后再检查配置,输入:
如果有报错说明路径不对,使用 whereis php-config 查看服务器上此文件的路径
接下来再依次执行这两个命令:
执行完会有类似如下信息:
这个目录就是扩展安装后的存放目录;
3、修改php.ini引入扩展
在最后面加入:
然后保存,重启PHP就完事了;
需要注意的是 exif.so 必须放在 mbstring.so 的后面,否则会出错;
可能出现的问题:
重启PHP时提示: NOTICE: PHP message: PHP Warning: Module ‘mbstring’ already loaded in Unknown on line 0
意思是mbstring这个扩展已经加载过了,还尝试引入;
解决办法:
PHP加载模块有两种方式,一种是通过php.ini 加载模块,另一种是通过编译时的参数加载模块。
这里出这个提示,那么mbstring应该就是属于后者,只需要php.ini中将其注释掉就行了
输入/usr/local/bin/phpize后提示: Cannot find config.m4. Make sure that you run /usr/local/bin/phpize in the top level sourc
我是将openssl扩展内的config0.m4文件改成config.m4就没提示了;
至于为什么openssl扩展的config.m4为什么会影响到安装其它扩展,暂不得而知;