多版本共存的PHP环境安装fileinfo扩展

服务器的环境是安装包一键安装的,存在多版本的PHP,目前使用的是PHP7.1,当前项目需要用到fileinfo扩展,运行的时候才发现没安装。然后 find / -name fileinfo查了一下。发现只有一个php5.5版本的fileinfo,(/root/conf/src/php-5.5.38/ext/fileinfo) 编译安装之后PHP7.1并不能使用。请问怎么才能编译安装支持php7.1呢。

阅读 3.3k
3 个回答
新手上路,请多包涵

编译的时候有一个--with-php-config选项,你选的是哪个目录就给哪个版本添加该扩展

找到php7的完整安装包,进入ext目录,假设你安装的php7 目录为 /usr/local/php7 执行

/usr/local/php7/bin/phpize
./configure --with-config=/usr/local/php7/bin/php-config
make && make install 

安装即可

任何一个php的版本在其安装的根目录下有一个bin文件夹,这个文件夹下有两个文件phpize和php-config,如下图:
图片描述

你装任何的扩展都要先把phpize挂起,假设进入了bin目录

./phpize

你想给哪个php装扩展就挂起哪个目录下的phpize,这样系统就知道你想把扩展装到哪个php版本上。
之后进入你要安装的扩展的目录配置一下php-config的路径。

./configure --with-php-config="这里是php-config的绝对路径"

当然极少扩展不是这种方式,这个自己另行搜索吧
到这里,你就已经为你装的扩展选好php版本了。
另外,在装扩展的时候要看好版本,有的扩展支持php5但是不支持7

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题