Centos7下PHP安装gd库的实例讲解

(编辑:jimmy 日期: 2025/1/21 浏览:2)

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 Support enabled
GD Version bundled (2.1.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.11
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.5.13
WBMP Support enabled
XBM 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)

以上这篇Centos7下PHP安装gd库的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?