钧言极客钧言极客

钧言极客

Linux安装PHP编译开启fileinfo

最近在使用PHP框架Laravel的时候,发现无法安装使用。检查发现缺少fileinfo扩展,这个应该是很多程序或者框架标配的扩展。

fileinfo的作用

本模块中的函数通过在文件的给定位置查找特定的 魔术 字节序列 来猜测文件的内容类型以及编码(通俗来讲就是获取文件的MIME信息)

使用环境

CentOS 7.5
PHP 7.3

这里安装的是LNMP的环境,默认是没有编译这个扩展的。

先找到PHP的安装目录fileinfo,再使用phpize进行编译

如果不知道安装在那里了,可以使用搜索命令

find / -name fileinfo

进入fileinfo

cd /local/php7
cd ext/fileinfo

执行编译安装flieinfo扩展

/local/php7/bin/phpize
./configure --with-php-config=/local/php7/bin/php-config
make && make install

编译成功后,会生成so文件,开启fileinfo扩展(扩展的存储目录:/local/php/lib/php/extensions/no-debug-non-zts-20202020)具体目录可以通过命令进行检索

cd /local/php7/etc
vim php.ini

添加以下内容

extension=/local/php/lib/php/extensions/no-debug-non-zts-20202020/fileinfo.so

重启php-fpm和nginx,也可以简单粗暴的执行reboot

如果内存不足,可以适当添加SWAP

创建一个swap大小为1GB的空间,并设置开机启动,再执行编译

dd if=/dev/zero of=/swap bs=1024 count=1M
mkswap /swap
swapon /swap
echo "/swap swap swap sw 0 0" >> /etc/fstab
未经允许不得转载:钧言极客 » Linux安装PHP编译开启fileinfo

评论 抢沙发