動的Web技術PHPを学ぶ:GDライブラリのインストール問題を詳しく解説_PHPチュートリアル

WBOY
リリース: 2016-07-13 17:30:10
オリジナル
921 人が閲覧しました

インストールの便宜のために、GD のインストール プロセスの一部を自分で作成し、公開しました。友人からもっと意見をもらえると幸いです。GD は WBMP をサポートしていないことがわかりましたが、現在は GD が拡張されています。 WBMPをサポートします。

質問:

RedHat 7.2をインストールした後、PHPでプログラミングを始めたところ、処理できるのはGIF画像のみで、JPEG画像は処理できないことがわかりました。

後で知ったのですが、PHP は画像処理に GD ライブラリを使用しており、GD ライブラリは当初 GIF をサポートしていましたが、GIF は著作権問題のある LZW アルゴリズムを使用しているため、法的問題が発生するため、GD-1.6 から GD ライブラリが使用されるようになりました。 GIF はサポートされなくなり、より適切な著作権フリーの PNG をサポートするように変更されました。そして今度は、GIF、PNG、JPEG を同時にサポートしたいと考えています。下から上、つまり、Jpeg->ttf->zlib->png->GD->PHP->Apache の順に導入されます。

1.Jpeg6bのインストールと設定

Jpegの主なファイルには、jpeglib.h、libjpeg.a、libjpeg.soなどが含まれます。まず、/usr/include ディレクトリに移動して jpeglib.h があるかどうかを確認し、/usr/lib ディレクトリに移動して libjpeg.a および libjpeg.so があるかどうかを確認します。私のシステムにはそれがないので、インストールする必要があります。

Jpegソースコードを入手するためのアドレスは:


ftp://ftp.uu.net/graphics/jpeg/

取得したファイルはjpegsrc.v6b.tar.gzで、/usr/srcディレクトリに配置されます。

/usr/src ディレクトリに移動し、インストールプロセスを開始します。 /usr/src と入力します:

cd /usr/src

圧縮ファイルを解凍します:

tar xzvf jpegsrc.v6b.tar.gz

コマンドが完了すると、追加のサブディレクトリ jpeg-6b が作成され、そこに Jpeg ソース コード ファイルが配置されます。このサブディレクトリに入ります:

cd jpeg-6b

このディレクトリ内の install.doc ファイルには、Jpeg のインストール方法が詳しく記載されています。指示に従ってください。生成された Makefile を構成します:

./configure

コマンドが完了すると、ディレクトリに追加の Makefile ファイルが作成されます。 Makefile は、多くのソフトウェアのコンパイルとインストールのための構成およびプロセス制御ファイルです。これは非常に重要なので、その内容を理解する必要があります。コンパイルを開始します:

作る

コマンドが完了すると、ディレクトリにはさらに多くのファイルが存在しますが、重要なものは libjpeg.a と libjpeg.so です。インストール:

インストールする

コマンドが完了すると、jpeglib.h が /usr/include ディレクトリにコピーされ、libjpeg.a と libjpeg.so が /usr/local/lib ディレクトリにコピーされます

2. ttfのインストールと設定

http://www.freetype.org
freetype-1.3.1.tar.gz
tar -xzvf freetype-1.3.1.tar.gz
./configure

コマンドが完了すると、ディレクトリに追加の Makefile ファイルが作成されます。 Makefile は、多くのソフトウェアのコンパイルとインストールのための構成およびプロセス制御ファイルです。これは非常に重要なので、その内容を理解する必要があります。コンパイルを開始します:

作る
作る インストールする

gd をコンパイルすると、freetype.h が見つからないというエラーが発生するため、

cp /usr/local/include/freetype/* /usr/local/include/

3、zlibのインストール:

注意点として、まず zlib をインストールする必要があります。
libpng をインストールする前に、zlib は通常、libpng と同じレベルの別のディレクトリに配置されます。システムには既に
zlib がプリインストールされている可能性がありますが、インストールされている zlib の
バージョンに対応する
zlib.h および zconf.h インクルード ファイルにアクセスする必要があります。http://www .gzip。 .org/zlib/
ftp://ftp.uu.net/graphics/png/src/zlib-1.1.3.tar.gz
./configure
make
make install


4. libpngのインストール:

INSTALL を読む http://www.libpng.org/pub/png/ libpng-1.2.0.tar.gz

UNIX の例: cp scripts/makefile.std makefile

make
make install


5.GD-1.8.3のインストールと構成

GDの主なファイルには、gd.h、libgd.aなどが含まれます。 GD ソースコードを入手するためのアドレスは次のとおりです: http://www.boutell.com/gd/ 取得したファイルはgd-1.8.3.tar.gzで、/usr/srcディレクトリに配置されます。このバージョンの GD は GIF をサポートしていないことが知られていますが、よく考えてみると、私のように GD が GIF と JPEG の両方をサポートすることを望んでいる人々はたくさんいるので、誰かが GIF のサポートを追加するパッチを作成しました。この人はイギリス人のようです。彼の電子メール アドレスは adam@elysium.ltd.uk です。パッチのソース コードを入手するためのアドレスは、http://www.webofsin.com/gd-1.8.3-gif.patch です。取得したファイルは gd-1.8.3-gif.patch で、/usr に配置されます。 /src ディレクトリ。 /usr/src と入力します:

cd /usr/src

圧縮ファイルを解凍します:

tar xzvf gd-1.8.3.tar.gz

コマンドが完了すると、追加のサブディレクトリ gd-1.8.3 が作成され、そこに GD のソース コード ファイルが配置されます。ソースコードにパッチを当てます:

パッチ -p0

コマンドが完了すると、gd-1.8.3 サブディレクトリに追加の gd_gif.c ファイルが作成され、ファイル gd.h と Makefile もそれに応じて変更されます。このサブディレクトリに入ります:

cd gd-1.8.3

デフォルトでは、GD ライブラリにはコンパイル時に JPEG サポートが含まれていないため、Makefile を変更する必要があります。 Makefile を次のように変更します:

CFLAGS=-O -DHAVE_XPM -DHAVE_JPEG -DHAVE_LIBTTF
LIBS=-lm -lgd -lpng -lz -ljpeg -lttf -lXpm -lX11

その後、コンパイルしてインストールします:

作る
作る インストールする

コマンド完了後、gd.hは/usr/local/includeディレクトリにコピーされ、libgd.aは/usr/local/libディレクトリにコピーされます。

SO モードでインストールされた php apache:

6. php-4.0.6のインストールと設定

PHPの主なファイルには、libphp4.a、libphp4.soなどが含まれます。 PHP ソースコードを取得するアドレスは http://php.net です

取得したファイルはphp-4.0.6.tar.gzで、/usr/srcディレクトリに配置されます。

/usr/src ディレクトリに移動し、ファイルを解凍します。

cd /usr/src

tar xzvf php-4.0.6.tar.gz

コマンドが完了すると、追加のサブディレクトリ php-4.0.6 が作成され、そこに PHP ソース コード ファイルが配置されます。次のサブディレクトリに入ります。

http://www.bkjia.com/PHPjc/509194.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/509194.html技術記事インストールの便宜のために、GD のインストール プロセスの一部を自分で作成しました。これを公開します。友人からさらに意見をもらえることを願っています。ありがとうございます。GD は WBMP をサポートしていないことがわかりました。 WBMP をサポートするために拡張されました。 質問: Red をインストールしています...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート