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. redis的安装配置

    先介绍mac的安装方法 一、安装(首先你要先安装brew工具) brew install redis 然后在终端的末尾你会发现如下: if you don't want/need a backgr

  4. redis的过期策略以及内存淘汰机制

    一、分析 这个问题其实相当重要,到底redis有没用到家,这个问题就可以看出来。比如你redis只能存5G数据,可是你写了10G,那会删5G的数据。怎么删的,这个问题思考过么?还有,你的数据已经设置

  5. 使用宝塔面板定时任务不执行问题处理

    定时任务不执行 不用宝塔自带的计划任务,因为宝塔自带的计划任务无法以www:www身份去执行任务,会导致面板无法正常写入日志 在vps中输入:crontab -e -uwww ,然后贴上 * * *

随机推荐

  1. 浏览器的同源策略

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

  2. 高并发下的分布式锁

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

  3. redis的安装配置

    先介绍mac的安装方法 一、安装(首先你要先安装brew工具) brew install redis 然后在终端的末尾你会发现如下: if you don't want/need a backgr

  4. redis的过期策略以及内存淘汰机制

    一、分析 这个问题其实相当重要,到底redis有没用到家,这个问题就可以看出来。比如你redis只能存5G数据,可是你写了10G,那会删5G的数据。怎么删的,这个问题思考过么?还有,你的数据已经设置

  5. 使用宝塔面板定时任务不执行问题处理

    定时任务不执行 不用宝塔自带的计划任务,因为宝塔自带的计划任务无法以www:www身份去执行任务,会导致面板无法正常写入日志 在vps中输入:crontab -e -uwww ,然后贴上 * * *