[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