php手动编译fileinfo扩展

模板网 2021-04-19

某些同学在执行php composer.phar install时,出现错误 90%可能是漏装了PHP的fileinfo扩展了,用宝塔的请直接在宝塔里安装

下载并解压PHP源码包(内含fileinfo扩展源码)

wget http://us.php.net/get/php-7.1.13.tar.gz/from/this/mirror && mv mirror php-7.1.13.tar.gz
tar zxvf php-7.1.13.tar.gz && cd php-7.1.13/ext

找到本地装好的PHP的ext目录,把下好fileinfo源码复制进去

cp -r fileinfo/ /usr/local/php/include/php/ext/

编译(找到phpize,在fileinfo目录里执行一下)

cd /usr/local/php/include/php/ext/fileinfo
/usr/local/php/bin/phpize

编译2(配置一下)

./configure

此步骤可能会出现错误:configure: error: Cannot find php-config. Please use --with-php-config=PATH
出现这种情况就找到php-config,用下面这个:
./configure --with-php-config=/usr/local/php/bin/php-config

生成so包

make && make install

它会生成一个包到指定位置

Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20160303/

编辑php.ini把包引用进去

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

重启php-fpm

service php-fpm restart

相关文章

  1. 浏览器的同源策略

    一、同源的三个条件 1、域名(二级域名与一级域名之间也算是不同源) 2、端口 3、协议 二、同源策略的意义 浏览器基于用户的隐私安全目的, 防止恶意网站窃取数据(只是浏览器有这个同源策略设置,但是

  2. 高并发下的分布式锁

    public String deductStrck() throws InterruptedException{ String lockKey = "product_001"; //用

  3. CentOS编译安装PHP7.1.21环境

    0.安装一大堆必备的东西 先执行 yum install -y epel-release yum install -y libmcrypt-devel 再执行 yum -y install gcc

  4. 虚拟环境-virtualenv

    在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那

  5. 路由器

随机推荐

  1. 浏览器的同源策略

    一、同源的三个条件 1、域名(二级域名与一级域名之间也算是不同源) 2、端口 3、协议 二、同源策略的意义 浏览器基于用户的隐私安全目的, 防止恶意网站窃取数据(只是浏览器有这个同源策略设置,但是

  2. 高并发下的分布式锁

    public String deductStrck() throws InterruptedException{ String lockKey = "product_001"; //用

  3. CentOS编译安装PHP7.1.21环境

    0.安装一大堆必备的东西 先执行 yum install -y epel-release yum install -y libmcrypt-devel 再执行 yum -y install gcc

  4. 虚拟环境-virtualenv

    在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那

  5. 路由器