Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Centos7下PHP安装gd库 centos7.2 centos 7.0 centos 6.7

Centos7下PHP安装gd库 centos7.2 centos 7.0 centos 6.7

WBOY
WBOYasal
2016-07-29 08:54:222335semak imbas

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标识的版本。

<code>yum install libpng libpng<span>-devel</span> libjpeg<span>-turbo</span> libjpeg<span>-turbo</span><span>-devel</span> freetype freetype<span>-devel</span> gd</code>

在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目录了。

<code>
GD Support  enabled
GD <span>Version</span>  bundled (<span>2.1</span><span>.0</span> compatible)
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType <span>Version</span><span>2.4</span><span>.11</span>
GIF <span>Read</span> Support    enabled
GIF Create Support  enabled
JPEG Support    enabled
libJPEG <span>Version</span><span>6</span>b
PNG Support enabled
libPNG <span>Version</span><span>1.5</span><span>.13</span>
WBMP Support    enabled
XBM Support enabled</code>

为什么我们可以省力呢?应为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)

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了Centos7下PHP安装gd库,包括了centos7方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn