欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Centos 下编译安装fileinfo扩展 有大用 有大大用

0.why complie fileinfo extension

今天有同事要去做功能,发现php当初安装的时候未编译fileinfo扩展

但使用pecl install 出现找不到.m4文件等等其他较琐碎的安装失败问题。 所以还是中规中矩的使用phpize来安装扩展吧。

1.检查当前环境

php -i|grep fileinfo 
若出现
fileinfo
fileinfo support => enabled
则代表fileinfo扩展可用,否则不可用。

2.安装

2-1:下载

wget -O php-5.6.9.tar.gz http://cn2.php.net/get/php-5.6.9.tar.gz/from/this/mirror

2-2:解压
 (我下载的是php-5.5.9.tar.gz,但解压下来发现还是5.6.9,不过无所谓没关系的没影响的)

wget -O php-5.5.9.tar.gz http://cn2.php.net/get/php-5.6.9.tar.gz/from/this/mirror

tar -zxvf php-5.6.9.tar.gz    

2-3:进入对应php版本扩展目录(我这是5.6.9版本)

cd /var/php5.6.9/php-5.6.9/ext/fileinfo

2-4:编译&&安装   

 
/usr/local/php/bin/phpize            

 (我使用的是 /www/wdlinux/phps/56/bin/phpize )

./configure -with-php-config=/usr/local/php/bin/php-config

 (我使用的是 /www/wdlinux/phps/56/bin/php-config )

make && make install

2-5:修改php.ini

vim /usr/local/php/etc/php.ini 

(我使用的是 /www/wdlinux/apache_php-5.6.9/etc/php.ini )

加入:extension=fileinfo.so

(我使用的是 我不知道什么原因 好像我必须使用绝对路径    extension=/www/wdlinux/phps/56/lib/php/extensions/no-debug-non-zts-20131226/fileinfo.so  )

最后重启服务器 

来自 https://segmentfault.com/a/1190000005058875


Linux 下 PHP 安装 fileinfo 扩展模块

0x01 介绍

由于 PHP 默认的安装配置不带 fileinfo,恰好安装的 PHP 程序需要这个,所以本文来介绍一下如何安装。

0x02 安装过程

1.1 首先下载当前正使用的 PHP 版本的源码,可通过 php.net/download 官网下载。

1.2 解压下载的源码,并进入目录。

cd ${php 源码的位置}/ext/fileinfo

1.3 执行 phpize

/usr/local/php/bin/phpize

phpize 是什么?
php官方的说明:http://php.net/manual/en/install.pecl.phpize.php
phpize 是用来扩展 php 扩展模块的工具,通过 phpize 可以建立 php 的外挂模块,比如你想在原来编译好的 php 中加入 memcached 或者 ImageMagick 等扩展模块,均可以使用 phpize。

返回信息如下:



    1. Configuring for:

    2. PHP Api Version: 20151012

    3. Zend Module Api No: 20151012

    4. Zend Extension Api No: 320151012

1.3 编译 fileinfo

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

编译成功大概输出如下:



    1. Build complete.

    2. Don't forget to run 'make test'.

    3.  

    4. Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20151012/

其中,Installing shared extensions 的内容就是您的扩展存放位置。

也可通过如下命令得到:

${php 的安装位置}/bin/php-config --extension-dir

1.4 填写扩展配置:

复制粘贴,修改 extension 目录为您自己的 php 扩展存放目录即可。



    1. cat > /usr/local/php/etc/php.d/ext-fileinfo.ini <<EOF

    2. extension = {php 扩展存放目录}/fileinfo.so

    3.  

    4. EOF

1.5 重启 php-fpm 进程

service php-fpm restart

搞定。

phpinfo 中将会显示安装的 fileinfo 信息:

来自  https://www.htcp.net/3675.html
 


普通分类: