[PHP-users 10289] Re: GD2.0.1のインストールについて

php-users@php.gr.jp php-users@php.gr.jp
Sun, 22 Sep 2002 13:48:22 +0900


問題解決しました

gccなど詳しい知識はないのでとりあえず、可能性
が高いと思ったことから試してみました。

1.もしかしたらlibgd.**関係のファイルが--with
-gdで指定するディレクトリにあるか?シンボリック
リンクが切れていないか?下のファイルがリンクが
切れていていたので削除(古いGDのファイルだったの
で)
libgd.so.1 -> libgd.so.1.2

2.古いGD1.8.4をソースからインストールしていたかも
しれないのでいちお古いGDのファイルを全部削除

rm /usr/local/lib/libgd.a
rm /usr/local/bin/pngtogd
rm /usr/local/bin/pngtogd2
rm /usr/local/bin/gdtopng
rm /usr/local/bin/gd2topng
rm /usr/local/bin/gd2copypal
rm /usr/local/bin/gdparttopng
rm /usr/local/bin/webpng
rm /usr/local/bin/bdftogd
rm /usr/local/include/gd.h
rm /usr/local/include/gdcache.h
rm /usr/local/include/gd_io.h
rm /usr/local/include/gdfontg.h
rm /usr/local/include/gdfontl.h
rm /usr/local/include/gdfontmb.h
rm /usr/local/include/gdfonts.h
rm /usr/local/include/gdfontt.h

2つの作業をした上で、最初からGD、PHPとインストール
作業をしました。

GD2.0.1インストール
tar -zxvf gd-2.0.1.tar.gz
cd gd-2.0.1/
vi Makefile
------------------------------------
CFLAGS=-g \
-DHAVE_LIBPNG \
-DHAVE_LIBJPEG \
-DHAVE_LIBFREETYPE \
-DJISX0208
INCLUDEDIRS=-I. \
-I/usr/local/include/freetype2
-I/usr/include/X11 \
-I/usr/X11R6/include/X11 \
-I/usr/local/include 
------------------------------------
make libgd.a
make install

PHP4.2.2インストール
tar zxvf php-4.2.2.tar.gz
cd php-4.2.2
./configure  \
--with-pgsql  \
--with-apxs=/usr/sbin/apxs \
--enable-mbstring  \
--enable-mbstr-enc-trans  \
--enable-trans-sid \
--enable-mbregex \
--with-gd=/usr/local/src/gd-2.0.1 \
--enable-gd-native-tt \ <-をttfではなくttにしました
--with-freetype-dir=/usr/local/src/freetype-2.1.2 \
--with-jpeg-dir=/usr/lib \
--with-zlib=/usr/local \
--with-png-dir=/usr/lib
make
make install

問題なくコンパイルが成功しました!

次に、下記のtest.phpを作りGDがちゃんとインストール
されているか確認しました

<?
phpinfo();
?>

GD Support enabled 
GD Version 2.0 or higher 
FreeType Support enabled 
FreeType Linkage with freetype 
JPG Support enabled 
PNG Support enabled 
WBMP Support enabled 

問題ありませんでした。

次にもともと入っている日本語のttfファイルを使って
日本語が表示できるのかテストしてみました。

test2.phpファイル
----------------------------------------------------------
Header("Content-type: image/jpeg");
$im = imagecreate(150,150);
$black = ImageColorAllocate($im,0,0,0);
$white = ImageColorAllocate($im,255,255,255);

$font1 = "/usr/X11R6/lib/X11/fonts/TrueType/watanabe-mincho.ttf";
$str = "浅井";
#ImageStringTTF($im,20,315,10,20,$white,$font1,$str);
ImageTTFText($im,5,0,10,20,$white,$font1,$str);
ImageJpeg($im);
ImageDestroy($im);
-------------------------------------------------------

結果は失敗です/var/log/httpd/php.logを見ると
[22-Sep-2002 13:31:31] PHP Warning:  Problem rendering glyph in
 /home/httpd/html/virtual/pgnavi/public_html/check.php on line 14

うーん、TTFファイルに問題がありそうだったので過去ログに
あったhttp://www.on.ics.keio.ac.jp/~yasu/jp_fonts.html
のTTFファイルを使い再度、テスト・・
無事やっと日本語見れました!

アドバイスいただいたみなさんありがとうございました。m(_ _)m