服务器 
首页 > 服务器 > 浏览文章

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

(编辑:jimmy 日期: 2024/11/16 浏览:3 次 )

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库的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:CentOS 6/7环境下通过yum安装php7的方法
下一篇:CentOS7.2下安装docker容器教程
一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。