centOS7.2下编译扩展安装php7.0.8的GD库
本人很懒,很少写博客。
最近内心比较纠结,有些坑踩过过了不算晚,得记录一下,避免后人再踩
系统环境:centOS7.2 (阿里云服务器)
PHP版本:php7.0.8 源码编译安装(http://cn2.php.net/distributions/php-7.0.8.tar.gz)
编译安装必需的依赖包
yum install libxml2 libxml2-devel openssl openssl-devel libcurl libcurl-devel libmcrypt libmcrypt-devel
编译配置信息如下
./configure —prefix=/usr/local/php7 —exec-prefix=/usr/local/php7 —bindir=/usr/local/php7/bin —sbindir=/usr/local/php7/sbin —includedir=/usr/local/php7/include —mandir=/usr/local/php7/php/man —libdir=/usr/local/php7/lib/php —with-config-file-path=/usr/local/php7/etc —with-mysql-sock=/var/run/mysql/mysql.sock —with-mcrypt=/usr/include —with-mhash —with-openssl —with-mysql=shared,mysqlnd —with-mysqli=shared,mysqlnd —with-pdo-mysql=shared,mysqlnd —with-dg —with-iconv —with-zlib —enable-zip —enable-inline-optimization —enable-shared —enable-xml —enable-bcmatch —enable-shmop —enable-sysvsem —enable-mbregex —enable-mbstring —enable-ftp —enable-pcntl —enable-dg-native-ttf —enable-sockets —with-xmlrpc —enable-soap —without-pear —with-gettext —enable-session —with-curl —with-jpeg-dir —enable-fpm —with-freetype-dir —enable-opencache —enable-fastcgi —without-gdbm —disable-fileinfo
编译安装完了之后需要些基本的配置下,什么www.conf,php-fpm,php.ini,phpize啥的,楼主就当你们都配置好了,可以正常运行php了
![Image 1][]
下面说说编译安装GD库
进入源码的解压文件夹内
![Image 1][]
楼主的源码包是php-7.0.8,内部有个叫ext的文件夹,里面全是php的扩展源码包,我们进入gd文件夹
![Image 1][]
目前gd文件夹只有这些,其中config.m4很重要,所有其他的配置信息都需要从他来衍生
在gd目录下执行 phpize(安装好php后自行安排phpize的位置,楼主cp到usr/bin/目录下,所以可以直接调用)
执行结果如下:
![Image 1][]
报错了,说没有发现autoconf,好,那咱安装一个
yum install autoconf
![Image 1][]
安装完后在再执行phpize
![Image 1][]
没问题了,可以继续
ls一下,发现当前目录下多了很多东西
![Image 1][]
执行下面的命令,配置扩展
![Image 1][]
发现配置失败了
![Image 1][]
说是没找到webp和jpeg的目录,检查一下是否安装
发现没有安装相关的动态库,俺就安装一波
yum install freetype freetyp-devel libwebp libwebp-devel libjpeg libjpeg-devel libpng libpng-devel (这里统一列出)
查看系统安装的动态库的位置
![Image 1][]
![Image 1][]
找到位置后,在configure中指定路径
![Image 1][]
如果执行后出现下面这种结果,error : png.h not found
![Image 1][]
说明你没有安装libpng-devel,用yum安装一下就好
配置成功的结果如下
![Image 1][]
然后就是make 和 make install了
![Image 1][]
打开扩展目录发现gd.so已经在目录中
![Image 1][]
下面要做的就是加到php.ini中了
![Image 1][]
由于楼主没有把编译安装的php加入系统service中,所以需要kill掉再启动==
![Image 1][]
执行php-fpm启动php
然后去页面打印出phpinfo(),就能看到gd了
![Image 1][]
好了,又记录了一个坑==
[Image 1]:
还没有评论,来说两句吧...