Centos7下PHP安装gd库的实例讲解
<p>Centos7下安装php, 或php的gd库支持,都是很简单的。</p>
<p>
一切通过yum搞定。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_205431">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">yum install php-gd</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>以上命令就搞定php-gd的支持,快快看看phpinfo是否支持了?</strong></span></p>
<p>
可是,如果需要采用不同版本的php时,那就是相当的麻烦,经过摸索,笔者找到了一个较为简单的方式。</p>
<p>
由于需要与系统原生版本共存多个php版本,那么你要求的版本必须采用源码编译。(如果有其他办法,请记得回复告知一下我)</p>
<p>
那么,编译php-gd的支持,网上大多都是通过编译freetype, libpng, libjpeg…好复杂,笔者通过一一尝试,发现还是不成功!!!!后来发现,自己编译的gd库没有包含jpeg和libpng的支持。</p>
<p>
(通过查看自己编译的动态库文件的依赖关系ldd libgd.so.2)</p>
<p>
注意:如果通过自己编译源码的方式,你成功的在源码版本的php中看到了gd支持png,那么恭喜你,你太幸运了。</p>
<p>
<span><strong>下面来说说我的方法: </strong></span></p>
<p>
尽可能的使用系统的库,或者yum源可以安装的库,比如gd, libpng, libjpeg, libfreetype…一切,centos的源都已经准备好,我们只是希望一个不同版本的php而已。由于我们需要源码编译php,所以需要安装对应的源码版本,及带devel标识的版本。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_677047">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">yum install libpng libpng-devel libjpeg-turbo libjpeg-turbo-devel freetype freetype-devel gd</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
在php源码目录下:如果出现未定义gdXXX函数错误,需要clean一下编译的结果。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_4035">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">make clean</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
再重新make一下:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_971015">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">‘./configure' ‘–with-mysql' ‘–with-apxs2=/usr/local/apache2/bin/apxs' ‘–with-curl' ‘–with-gd' ‘–with-jpeg-dir' ‘–with-png-dir' ‘–with-freetype-dir'</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>注意:</strong>这里我们不需要指定具体的gd, jpeg, png, freetype目录的位置,直接采用系统目录下的版本(省时省力哦)。</p>
<p>
如此安装后,gd库就按照ok了,新生产的libphp5.so文件已经安装到了指定的apache的moduls目录了。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_527604">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">GD Support enabled</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">GD Version bundled (2.1.0 compatible)</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">FreeType Support enabled</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml plain">FreeType Linkage with freetype</code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml plain">FreeType Version 2.4.11</code>
</div>
<div class="line number6 index5 alt1">
<code class="xhtml plain">GIF Read Support enabled</code>
</div>
<div class="line number7 index6 alt2">
<code class="xhtml plain">GIF Create Support enabled</code>
</div>
<div class="line number8 index7 alt1">
<code class="xhtml plain">JPEG Support enabled</code>
</div>
<div class="line number9 index8 alt2">
<code class="xhtml plain">libJPEG Version 6b</code>
</div>
<div class="line number10 index9 alt1">
<code class="xhtml plain">PNG Support enabled</code>
</div>
<div class="line number11 index10 alt2">
<code class="xhtml plain">libPNG Version 1.5.13</code>
</div>
<div class="line number12 index11 alt1">
<code class="xhtml plain">WBMP Support enabled</code>
</div>
<div class="line number13 index12 alt2">
<code class="xhtml plain">XBM Support enabled</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>为什么我们可以省力呢?</strong></span>应为centos安装的gd库已经把jpeg, png等库都已经连接好了。通过ldd liggd.so.2 就可以证明:</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_964590">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain"># ldd /usr/lib64/libgd.so.2 </code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">linux-vdso.so.1 => (0x00007fff591fe000) </code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">libXpm.so.4 => /lib64/libXpm.so.4 (0x00007f91ed0c8000) </code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml plain">libX11.so.6 => /lib64/libX11.so.6 (0x00007f91ecd8a000) </code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml plain">libjpeg.so.62 => /lib64/libjpeg.so.62 (0x00007f91ecb34000) </code>
</div>
<div class="line number6 index5 alt1">
<code class="xhtml plain">libfontconfig.so.1 => /lib64/libfontconfig.so.1 (0x00007f91ec8f8000) </code>
</div>
<div class="line number7 index6 alt2">
<code class="xhtml plain">libfreetype.so.6 => /lib64/libfreetype.so.6 (0x00007f91ec652000) </code>
</div>
<div class="line number8 index7 alt1">
<code class="xhtml plain">libpng15.so.15 => /lib64/libpng15.so.15 (0x00007f91ec426000) </code>
</div>
<div class="line number9 index8 alt2">
<code class="xhtml plain">libz.so.1 => /lib64/libz.so.1 (0x00007f91ec210000) </code>
</div>
<div class="line number10 index9 alt1">
<code class="xhtml plain">libm.so.6 => /lib64/libm.so.6 (0x00007f91ebf0e000) </code>
</div>
<div class="line number11 index10 alt2">
<code class="xhtml plain">libc.so.6 => /lib64/libc.so.6 (0x00007f91ebb4c000) </code>
</div>
<div class="line number12 index11 alt1">
<code class="xhtml plain">libxcb.so.1 => /lib64/libxcb.so.1 (0x00007f91eb92b000) </code>
</div>
<div class="line number13 index12 alt2">
<code class="xhtml plain">libdl.so.2 => /lib64/libdl.so.2 (0x00007f91eb727000) </code>
</div>
<div class="line number14 index13 alt1">
<code class="xhtml plain">libexpat.so.1 => /lib64/libexpat.so.1 (0x00007f91eb4fc000) </code>
</div>
<div class="line number15 index14 alt2">
<code class="xhtml plain">libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f91eb2e0000) </code>
</div>
<div class="line number16 index15 alt1">
<code class="xhtml plain">/lib64/ld-linux-x86-64.so.2 (0x00007f91ed52b000) </code>
</div>
<div class="line number17 index16 alt2">
<code class="xhtml plain">libXau.so.6 => /lib64/libXau.so.6 (0x00007f91eb0dc000)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
以上这篇Centos7下PHP安装gd库的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。</p>
<p>
原文链接:https://blog.csdn.net/yin138/article/details/51100830</p>
頁:
[1]