PHP7.3开启fileinfo扩展

admin 2019-08-23 PM 70℃ 1条

首先说一下fileinfo扩展是做什么的。

官方的说法:

本模块中的函数通过在文件的给定位置查找特定的 魔术 字节序列 来猜测文件的内容类型以及编码。 虽然不是百分百的精确, 但是通常情况下能够很好的工作。
大概意思就是讲通过这个扩展,php支持了一些函数用来获取文件的类型和编码,就是获取文件mime信息。
先说说安装过程吧,怎么用先不说。

之前编译安装php的时候因为服务器配置比较低,就没开启fileinfo,所以在phpinfo下面看到的就是这样:
fileinfo

我安装的php版本是7.3.2。

1. 查一下对应的安装包下面是否有该扩展包

[root@------------ ~]# find / -name fileinfo
/usr/local/src/php-7.3.2/ext/fileinfo   #如果有这个包,就直接cd到该目录下,如果没有则自行下载对应版本的包。

2. cd到该安装包的目录

cd /usr/local/src/php-7.3.2/ext/fileinfo
ls -l  大概有下面这些文件

3. 利用phpize脚本编译

[root@-------------- fileinfo]# /usr/local/php/bin/phpize  #回车后如果返回下面代码,表示成功执行
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519

4. 编译、安装

还是在当前路径下面执行下面代码

./configure --with-php-config=/usr/local/php/bin/php-config #如果没错的话 就执行 安装 make && make install
make && make install #回车后如果返回下面代码,表示成功
Build complete.
Don't forget to run 'make test'.
Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/

在编译的时候,我这报了一个错
gcc: internal compiler error: Killed (program cc1plus)
原因是因为内存不足导致的,下面是网上的解决办法

sudo mkdir -p /var/cache/swap/
sudo dd if=/dev/zero of=/var/cache/swap/swap0 bs=1M count=512
sudo chmod 0600 /var/cache/swap/swap0
sudo mkswap /var/cache/swap/swap0
sudo swapon /var/cache/swap/swap0

利用./php -m 查看该扩展,如果安装完成后发现还没有fileinfo扩展,可参考一下几点调整:

  • 安装完是否重启nginx、php-fpm
  • php.ini是否被加载(./php --ini 可查看)
  • 是否在php.ini配文件内添加 extension=fileinfo.so
  • 检查安装目录下是否存在fileinfo.so文件(第四步下面返回的路径下查看)
标签: PHP, fileinfo

非特殊说明,本博所有文章均为博主原创。

评论啦~



唉呀 ~ 仅有一条评论


  1. admin 博主

    pwd

    回复 2019-09-05 15:40