最近做老的 wordpress 站点迁移时,因项目过于老旧,需要安装 php7.3 版本,但是 php7.3 版本的 php 包中没有 GD 扩展,所以需要自己编译安装,在这记录一下安装过程.

GD 库需要安装的东西比较多,需要安装以下几个包

  • zlib
  • libpng
  • libjpeg
  • freetype
  • libwebp

# 下载源码

这里我每个都选择下载最新版

h
wget https://www.zlib.net/zlib-1.3.1.tar.gz
wget https://sourceforge.net/projects/libpng/files/libpng17/1.7.0beta89/libpng-1.7.0beta89.tar.gz
wget http://www.ijg.org/files/jpegsrc.v9f.tar.gz
wget https://sourceforge.net/projects/freetype/files/freetype2/2.13.2/freetype-2.13.2.tar.gz

# 分别编译安装

h
# 安装 zlib
tar zxvf zlib-1.3.1.tar.gz
cd zlib-1.3.1/
./configure --prefix=/usr/local/zlib
make && make install
# 安装 libpng
tar zxvf libpng-1.7.0beta89.tar.gz
cd libpng-1.7.0beta89/
./configure --prefix=/usr/local/libpng
make && make install
# 安装 libjpeg
tar zxvf jpegsrc.v9f.tar.gz
cd jpeg-9f/
./configure --prefix=/usr/local/libjpeg --enable-shared
make && make install
# 安装 freetype
tar zxvf freetype-2.13.2.tar.gz
cd freetype-2.13.2/
./configure --prefix=/usr/local/freetype
make && make install
# 安装 libwebp
# 因为 libwebp 的源码包缺很多依赖文件,所以这里直接使用 dnf 安装,简单快捷
dnf install libwebp

# 编译安装 GD 扩展

进入到 php7.3 的源码目录下的 ext 文件夹下,有个 gd 文件夹

h
cd php-7.3.33/ext/gd

首先执行 phpize , 生成 configure 文件,然后就可以进行编译了,命令如下:

h
/usr/local/php73/bin/phpize
./configure \
--with-php-config=/usr/local/php73/bin/php-config \
--with-freetype-dir=/usr/local/freetype \
--with-jpeg-dir=/usr/local/libjpeg \
--with-png-dir=/usr/local/libpng \
--with-zlib-dir=/usr/local/zlib \
--with-webp-dir=/usr/lib64 \
--with-libdir=/usr/local/lib
make && make install

# 修改 php.ini 文件添加 GD 库

h
# 一条命令搞定
echo extension=gd.so >> /usr/local/php73/lib/php.ini

添加后重启 php-fpm 服务即可.

# 结束

请我喝杯[咖啡]~( ̄▽ ̄)~*

一个放羊娃 微信支付

微信支付

一个放羊娃 支付宝

支付宝