質問:
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