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. 路由器

  2. gitlab备份与恢复

    一、gitlab备份 [root@localhost ~]# gitlab-rake gitlab:backup:create Dumping database ... Dumping Postgr

  3. python多线程

    一、介绍 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线

  4. 反向代理缓存

    一、传统代理 很久以前,我们通常需要通过代理服务器来访问互联网上的Web站点,代理服务器本身接入了互联网,而我们通过内部网络与代理服务器相连。即便是现在,有些时候为了访问一些由于某种原因无法直接访问

  5. rdb快照持久化

    一、持久化的方式 什么是持久化:redis所有数据保存在内存中,对数据的更新将异步保存到磁盘上。 持久化:即把数据存储于断电后不会丢失的设备中,通常是硬盘。 常见的持久化方式:主从:通过从服务器保存

随机推荐

  1. 路由器

  2. gitlab备份与恢复

    一、gitlab备份 [root@localhost ~]# gitlab-rake gitlab:backup:create Dumping database ... Dumping Postgr

  3. python多线程

    一、介绍 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线

  4. 反向代理缓存

    一、传统代理 很久以前,我们通常需要通过代理服务器来访问互联网上的Web站点,代理服务器本身接入了互联网,而我们通过内部网络与代理服务器相连。即便是现在,有些时候为了访问一些由于某种原因无法直接访问

  5. rdb快照持久化

    一、持久化的方式 什么是持久化:redis所有数据保存在内存中,对数据的更新将异步保存到磁盘上。 持久化:即把数据存储于断电后不会丢失的设备中,通常是硬盘。 常见的持久化方式:主从:通过从服务器保存