PHP Fileinfo extension must be installed/enabled to use Intervention Image
展开阅读全文

今天上传图片的时候,出现

PHP Fileinfo extension must be installed/enabled to use Intervention Image

错误。 我用的是centos系统,查了下资料。 大体是这样的:

find / -name fileinfo
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
/usr/local/php/etc/php.ini 
#添加扩展:
extension=fileinfo.so

发现还是有很多坑。直接看命令吧。

我们可以先执行下命令,看看我们是否安装了fileinfo

php -i|grep fileinfo

若出现

fileinfo fileinfo support => enabled

则代表fileinfo扩展可用,否则不可用 首先网上先说查看下fileinfo的路径,我们可以先执行下命令:

find / -name fileinfo

会出现

/root/php-7.0.9/ext/fileinfo

路径,路径不是一致的。好了,继续。

然后我们cd进入这个文件夹

cd /root/php-7.0.9/ext/fileinfo

后,网上说的是,执行这个

/usr/local/php/bin/phpize

或者是phpize,问题来了:

假设你系统里面有多个php版本,你就要取决一下,你这个phpize是否是你这个报错项目的php版本里面的。

我们还是继续查看下这个phpize在哪。执行下

find / -name phpize

我这边出现以下路径

/vhs/kangle/ext/tpl_php709/bin/phpize
/vhs/kangle/ext/tpl_php52/bin/phpize
/root/tmp/easypanel-2.6.18-x86_64/ext/tpl_php52/bin/phpize
/root/php-7.0.9/scripts/phpize

嗯,因为我这个出错的php版本是php7里面的,所以,我就拿第一个php709的这个。

在fileinfo文件夹里面,执行

/vhs/kangle/ext/tpl_php709/bin/phpize

接下来,网上步奏,是执行

./configure --with-php-config=/usr/local/php/bin/php-config

这个时候,由于我的php-config不是在这个路径,所以我更换成了这个

./configure --with-php-config=/vhs/kangle/ext/tpl_php709/bin/php-config

我们可以使用TAB慢慢的选择到我们这个文件。

接下来就按照网上步奏,执行下

make && make install

然后打开你这个版本的php.ini,加入这个extension=fileinfo.so 然后重启下服务即可。