本人很懒,很少写博客。
最近内心比较纠结,有些坑踩过过了不算晚,得记录一下,避免后人再踩
系统环境:centOS7.2 (阿里云服务器)
PHP版本:PHP7.0.8 源码编译安装(http://cn2.php.net/distributions/php-7.0.8.tar.gz)
编译安装必需的依赖包
编译配置信息如下
./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掉再启动==
好了,又记录了一个坑==