Centos7下PHP安装gd库
2022-07-28 15:20:24
143
{{single.collect_count}}

Centos7下安装php, 或php的gd库支持,都是很简单的。
一切通过yum搞定。
yum install php-gd
以上命令就搞定php-gd的支持,快快看看phpinfo是否支持了?

可是,如果需要采用不同版本的php时,那就是相当的麻烦,经过摸索,笔者找到了一个较为简单的方式。

由于需要与系统原生版本共存多个php版本,那么你要求的版本必须采用源码编译。(如果有其他办法,请记得回复告知一下我)

那么,编译php-gd的支持,网上大多都是通过编译freetype, libpng, libjpeg…好复杂,笔者通过一一尝试,发现还是不成功!!!!后来发现,自己编译的gd库没有包含jpeg和libpng的支持。
(通过查看自己编译的动态库文件的依赖关系ldd libgd.so.2)
注意:如果通过自己编译源码的方式,你成功的在源码版本的php中看到了gd支持png,那么恭喜你,你太幸运了。

下面来说说我的方法:
尽可能的使用系统的库,或者yum源可以安装的库,比如gd, libpng, libjpeg, libfreetype…一切,centos的源都已经准备好,我们只是希望一个不同版本的php而已。由于我们需要源码编译php,所以需要安装对应的源码版本,及带devel标识的版本。

yum install libpng libpng-devel libjpeg-turbo libjpeg-turbo-devel freetype freetype-devel gd

在php源码目录下:如果出现未定义gdXXX函数错误,需要clean一下编译的结果。
make clean
再重新make一下:
‘./configure’ ‘–with-mysql’ ‘–with-apxs2=/usr/local/apache2/bin/apxs’ ‘–with-curl’ ‘–with-gd’ ‘–with-jpeg-dir’ ‘–with-png-dir’ ‘–with-freetype-dir’
注意:这里我们不需要指定具体的gd, jpeg, png, freetype目录的位置,直接采用系统目录下的版本(省时省力哦)。
如此安装后,gd库就按照ok了,新生产的libphp5.so文件已经安装到了指定的apache的moduls目录了。

GD SupportenabledGD Versionbundled (2.1.0 compatible)FreeType SupportenabledFreeType Linkagewith freetypeFreeType Version2.4.11GIF Read SupportenabledGIF Create SupportenabledJPEG SupportenabledlibJPEG Version 6bPNG Support enabledlibPNG Version1.5.13WBMP SupportenabledXBM Support enabled

为什么我们可以省力呢?应为centos安装的gd库已经把jpeg, png等库都已经连接好了。通过ldd liggd.so.2 就可以证明:
[root@iZ25mdbcou0Z ~]# ldd /usr/lib64/libgd.so.2
linux-vdso.so.1 => (0x00007fff591fe000)
libXpm.so.4 => /lib64/libXpm.so.4 (0x00007f91ed0c8000)
libX11.so.6 => /lib64/libX11.so.6 (0x00007f91ecd8a000)
libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f91ecb34000)
libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f91ec8f8000)
libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f91ec652000)
libpng15.so.15 => /lib64/libpng15.so.15 (0x00007f91ec426000)
libz.so.1 => /lib64/libz.so.1 (0x00007f91ec210000)
libm.so.6 => /lib64/libm.so.6 (0x00007f91ebf0e000)
libc.so.6 => /lib64/libc.so.6 (0x00007f91ebb4c000)
libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f91eb92b000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f91eb727000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f91eb4fc000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f91eb2e0000)
/lib64/ld-linux-x86-64.so.2 (0x00007f91ed52b000)
libXau.so.6 => /lib64/libXau.so.6 (0x00007f91eb0dc000)

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}