本文操作环境:linux5.9.8系统、PHP7.1版、DELL G3电脑
如何编译安装php gd?
php编译安装gd扩展
做php开发经常需要用到gd库,但是也遇到几次部署环境默认没有安装gd的情况,遂在此做下总结,以备不时之需.
通过yum,apt-get等包式管理安装方式安装的php直接运行对应命令即可,故不在此赘述。
本文主要记录在linux环境下编译gd扩展及其所需依赖。
gd扩展主要依赖zlib,freetype,libpng,libjpeg这4个库,所以我们先编译这四个库
安装zlib
在zlib项目主页下载最新版本
解压后进入源码目录,进行配置、编译和安装操作
wget http://www.zlib.net/zlib-1.2.11.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure --prefix=/user/local/zlib
make && make install
mac 电脑会报以上错误 关闭sip后sudo mount -uw / 使用
sudo make && sudo make install
安装freetype
在freetype的项目主页下载稳定版本源码
解压并进入源码目录
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.9.tar.gz
tar -zxvf freetype-2.9.tar.gz
cd freetype-2.9
./configure --prefix=/user/local/freetype
make && make install
安装libpng
在libpng项目主页上下载源码
解压并进入源码目录
wget https://nchc.dl.sourceforge.net/project/libpng/libpng16/1.6.37/libpng-1.6.37.tar.xz
tar -zxvf libpng-1.6.37.tar.xz
cd libpng-1.6.37
./configure --prefix=/user/local/libpng
make && make install
安装libjpeg
在libjpeg项目主页上下载源码
解压并进入源码目录
tar -zxvf jpegsrc.v9d.tar.gz
cd jpeg-9d
./configure --prefix=/user/local/libjpeg --enable-shared
make && make install
安装gd扩展了,在php的源码报下的ext文件夹进入gd
cd gd
phpize
./configure --with-php-config=/usr/bin/php-config --with-jpeg-dir=/user/local/libjpeg --with-png-dir=/user/local/libpng --with-freetype-dir=/user/local/freetype --with-zlib-dir=/user/local/zlib
make && make install
其中--with-php-config是指向安装php后生成的一个配置工具,主要用于扩展的编译配置
其他的参数对应指向先前安装依赖的位置
没有出错的话,编译器会提示生成的gd.so已经拷贝到php的扩展目录,我们只需要在php.ini中加入一行
extension=gd.so
重启服务器生效