PHP一些扩展在编译的时候没有安装怎么办?

WBOY
Release: 2016-06-23 13:06:18
Original
918 people have browsed it

我们在配置Web环境的时候,有时候会根据现有要求,编译出的环境仅仅满足当前的需要。
但在后期随着业务的发展或架构升级,需要一些PHP新的扩展,这时候我们就要动态编译一下PHP扩展。

今天重新配置一个虚拟主机,运行新的框架报fileinfo不存在,得到Mine类型报错,检测发现在升级PHP的时候禁用了fileinfo,所以现在要动态编译fileinfo扩展。

方法其实很简单!

1、首先检测我们需要的扩展是否可用,同时PHP版本是多少?

以fileinfo为例

/usr/bin/php -i|grep fileinfo 
Copy after login

若出现 fileinfo fileinfo support => enabled 则代表fileinfo扩展可用,否则不可用。

查看PHP版本:

/usr/bin/php --version
Copy after login

结果可能如下:

PHP 5.6.19 (cli) (built: Mar 3 2016 07:57:20)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
with Xdebug v2.4.0, Copyright (c) 2002-2016, by Derick Rethans

2、找到PHP源码

如果没有,请先下载当前环境的版本号。本地已有源码,请切换到源码目录。

cd /root/soft/php-5.6.19/ext
Copy after login

ext是PHP下扩展目录,里面都是PHP的扩展

3、如何动态编译扩展,以fileinfo扩展为例

cd fileinfo/usr/local/php/bin/phpize   ----给PHP动态添加扩展命令,在php的bin目录下./configure -with-php-config=/usr/local/php/bin/php-configmake && make install
Copy after login

4、在php.ini里添加扩展名称

vi /etc/php.iniextension=fileinfo.so --添加扩展名称
Copy after login

其它扩展类似

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template