linux下安装编译php扩展(以imagick为例 php:7.1.3)

linux 2017-09-08

最近刚学会了给php安装编译扩展,所以这次班门弄斧大概讲一下我的心得以及遇见的问题。
这里着重讲一下php7已上的扩展编译,其实其他版本都大同小异,大家可以举一反三,废话不多说了,进正题:
先说一个php源码包中没有的常见扩展,以imagick为例:

首先大家需要去下载这个扩展的压缩包,咱们可以去这个网站扩展压缩文件下载地址
点击红色箭头所指搜索扩展包名字
搜到包
咱们这里记住一句话选取包的时候一般都是最新稳定版即stable。直接右击复制连接地址,以centos7为例,直接yum install -y 地址。
然后解压包 tar --zxvr 包 ,直接cd进包里。
然后记住安装php扩展主要是phpize跟php-config.
先运行phpize:运行phpize
报了个错,说找不到phpize,那么需要咱们手动指定,一般会在你的php安装目录的bin目录下。
但是我们发现还有一个错,找不到autoconf,咱们只需要安装就好,centos:yum install autoconf
ubuntu:apt-get install autoconf
即可。
这时候再去运行phpize就不会报错了。
再次运行phpize
然后就可以去编译了:./configure
我这里又报错了(没有报错的可以忽略)
首次编译
没关系,他说找不到php-config,那么咱们也要当初指定phpize一样指定它即可
那么编译的时候咱们就要加参数了
如下:
./configure --with-php-config=/usr/local/php/bin/php-config
再次编译
再次编译
还有报错,这次是缺少类库(没有报错的可以忽略,我的是因为是新系统所以确实东西很正常),安装对应的类库
安装类库
再次编译已经成功了。
编译成功
然后make再然后呢,我一般不make install。这个时候 你基本可以看到.so文件已经生成了,直接ls modules/
查看编译好的扩展
然后通过查看phpinfo确认扩展读取目录。同时修改php.ini文件以及把生成的imagick.so放到对应的目录,重启fpm即可。
done!
大家多试几次,其实不难的!


本文由 admin 创作,采用 知识共享署名 3.0,可自由转载、引用,但需署名作者且注明文章出处。

还不快抢沙发

添加新评论