php手动编译fileinfo扩展
某些同学在执行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
相关文章
- python多线程
一、介绍 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线
- redis 主从复制
一、集群的作用 1.主从备份 防止主机宕机 2.读写分离 分担master的任务 3.任务分离,如从服务器分别担任备份工作与计算工作 二、redis集群配置 Master配置 1、关闭rdb快照
- php配置加载器
配置加载器 当我们使用App::cfg系列方法获取配置时,wulaphp是通过配置加载器先加载配置然后再返回配置项对应值的(当然可以返回整个配置数组)。配置加载器ConfigurationLoade
- php自建邮局下邮件无法正常发送问题解决
产生问题 自建邮局发邮件时提示错误信息:stream_set_blocking()... 这是因为PHP 5.6+版本强制要求验证服务器的有效性 PHP 5.6+特性 Stream wrappers
- 递归和分治思想
一、斐波那契数列 1 1 2 3 5 8 13 21 34 55 89 144 ...... 我们可以用数学函数来定义: |0,当n = 0 F(n) = |1,当n = 1
随机推荐
- python多线程
一、介绍 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线
- redis 主从复制
一、集群的作用 1.主从备份 防止主机宕机 2.读写分离 分担master的任务 3.任务分离,如从服务器分别担任备份工作与计算工作 二、redis集群配置 Master配置 1、关闭rdb快照
- php配置加载器
配置加载器 当我们使用App::cfg系列方法获取配置时,wulaphp是通过配置加载器先加载配置然后再返回配置项对应值的(当然可以返回整个配置数组)。配置加载器ConfigurationLoade
- php自建邮局下邮件无法正常发送问题解决
产生问题 自建邮局发邮件时提示错误信息:stream_set_blocking()... 这是因为PHP 5.6+版本强制要求验证服务器的有效性 PHP 5.6+特性 Stream wrappers
- 递归和分治思想
一、斐波那契数列 1 1 2 3 5 8 13 21 34 55 89 144 ...... 我们可以用数学函数来定义: |0,当n = 0 F(n) = |1,当n = 1