您的位置:首页 > 运维架构 > Linux

centOS7.2下编译扩展安装php7.0.8的GD库

2017-01-09 14:59 645 查看
本人很懒,很少写博客。

最近内心比较纠结,有些坑踩过过了不算晚,得记录一下,避免后人再踩

系统环境: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了

下面说说编译安装GD库

进入源码的解压文件夹内

楼主的源码包是php-7.0.8,内部有个叫ext的文件夹,里面全是php的扩展源码包,我们进入gd文件夹

目前gd文件夹只有这些,其中config.m4很重要,所有其他的配置信息都需要从他来衍生

在gd目录下执行 phpize(安装好php后自行安排phpize的位置,楼主cp到usr/bin/目录下,所以可以直接调用)

执行结果如下:

报错了,说没有发现autoconf,好,那咱安装一个

yum install autoconf

安装完后在再执行phpize

没问题了,可以继续

ls一下,发现当前目录下多了很多东西

执行下面的命令,配置扩展

发现配置失败了

说是没找到webp和jpeg的目录,检查一下是否安装

发现没有安装相关的动态库,俺就安装一波

yum install freetype freetyp-devel libwebp libwebp-devel libjpeg libjpeg-devel libpng libpng-devel (这里统一列出)

查看系统安装的动态库的位置

找到位置后,在configure中指定路径

如果执行后出现下面这种结果,error : png.h not found

说明你没有安装libpng-devel,用yum安装一下就好

配置成功的结果如下

然后就是make 和 make install了

打开扩展目录发现gd.so已经在目录中

下面要做的就是加到php.ini中了

由于楼主没有把编译安装的php加入系统service中,所以需要kill掉再启动==

执行php-fpm启动php

然后去页面打印出phpinfo(),就能看到gd了

好了,又记录了一个坑==
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息