咏远莈侑蔠嚸 發表於 2023-6-3 00:00:00

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 =&gt; (0x00007fff591fe000) </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="xhtml plain">libXpm.so.4 =&gt; /lib64/libXpm.so.4 (0x00007f91ed0c8000) </code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="xhtml plain">libX11.so.6 =&gt; /lib64/libX11.so.6 (0x00007f91ecd8a000) </code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="xhtml plain">libjpeg.so.62 =&gt; /lib64/libjpeg.so.62 (0x00007f91ecb34000) </code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="xhtml plain">libfontconfig.so.1 =&gt; /lib64/libfontconfig.so.1 (0x00007f91ec8f8000) </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="xhtml plain">libfreetype.so.6 =&gt; /lib64/libfreetype.so.6 (0x00007f91ec652000) </code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="xhtml plain">libpng15.so.15 =&gt; /lib64/libpng15.so.15 (0x00007f91ec426000) </code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="xhtml plain">libz.so.1 =&gt; /lib64/libz.so.1 (0x00007f91ec210000) </code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="xhtml plain">libm.so.6 =&gt; /lib64/libm.so.6 (0x00007f91ebf0e000) </code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="xhtml plain">libc.so.6 =&gt; /lib64/libc.so.6 (0x00007f91ebb4c000) </code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="xhtml plain">libxcb.so.1 =&gt; /lib64/libxcb.so.1 (0x00007f91eb92b000) </code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="xhtml plain">libdl.so.2 =&gt; /lib64/libdl.so.2 (0x00007f91eb727000) </code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="xhtml plain">libexpat.so.1 =&gt; /lib64/libexpat.so.1 (0x00007f91eb4fc000) </code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="xhtml plain">libpthread.so.0 =&gt; /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 =&gt; /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]
查看完整版本: Centos7下PHP安装gd库的实例讲解