Centos7 または php の gd ライブラリ サポートに php をインストールするのは非常に簡単です。
すべてはyumを通じて行われます。
php-gd をインストールします
上記のコマンドは php-gd のサポートを完了します。phpinfo がそれをサポートしているかどうかをすぐに確認します。
ただし、異なるバージョンの php を使用する必要がある場合は、非常に面倒になります。調査の結果、著者はより簡単な方法を見つけました。
複数のphpバージョンがシステムのネイティブバージョンと共存する必要があるため、必要なバージョンをソースコードからコンパイルする必要があります。 (他の方法がある場合は、忘れずに返信してお知らせください)
つまり、インターネット上で php-gd をコンパイルするためのサポートのほとんどは、freetype、libpng、libjpeg をコンパイルすることによって行われます...それらを試してみると、非常に複雑です。一つ一つ試してみても、まだ失敗していることがわかりました。 ! ! !後で、私がコンパイルした gd ライブラリには jpeg と libpng のサポートが含まれていないことがわかりました。
(自分でコンパイルしたダイナミックライブラリファイルの依存関係ldd libgd.so.2を確認することで)
注: ソース コードを自分でコンパイルして、gd が php のソース バージョンで png をサポートしていることが確認できた場合は、おめでとうございます。あなたはとても幸運です。
私の方法は次のとおりです:
可能な限りシステム ライブラリを使用するか、gd、libpng、libjpeg、libfreetype などの yum ソースからインストールできるライブラリを使用してください。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 関数エラーが発生した場合は、コンパイル結果をクリーンアップする必要があります。
きれいにする
もう一度作ってみましょう:
'./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 ライブラリは正常になり、新しく生成された libphp5.so ファイルが指定された Apache モジュール ディレクトリにインストールされます。
<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)
以上、centos7 での PHP 用 gd ライブラリのインストール方法を紹介しました。centos7 の内容も含めて、PHP チュートリアルに興味のある友人の参考になれば幸いです。