Hatena::ブログ(Diary)

yun_kichiの日記

2011-03-09

php-gd のインストールではまったこと

| 18:31 |

本番にはあるけどステージング環境に GD モジュールがない!という状況に陥ったので、インストールすることにしました。

(ステージング環境がちゃんと動き出したのが最近で、全部の機能が動くことを確認出来ていなくて、今日まで気付かなかった…。)

php-gdインストール

yum を使う

色々回り道したけど、結局は yum を使って一発インストール。(迷走した記録は後述します。)

一応インストールする gd ライブラリを確認してから実行しました。

$ yum list | grep gd
$ yum install php-gd.i386

gd.ini の作成

php-gd を有効にするために、ini ファイルを作って設定します。

gd.ini は、共通にインクルードされる設定ファイルがある場所におきます。

$ cd /etc/php.d
$ vim gd.ini
## 下記を記載して保存 ###
extension=gd.so

apache をリロード

設定ファイルを追加したので、リロードしておきます。

$ apachectl graceful

設定できたか確認

gd がリストにあればインストールおよび設定完了です。

$ php -m
[PHP Modules]
gd
  :

迷走した記録(読まなくて OK)

結局作業自体は上記の手順で良かったのですが、それにいたるまでいろいろ迷走しました。

また同じようなことではまらないように、書いておきます。

imagecreatetruecolor() がない

最初は、下記のようなエラーログが出力されていました。調べてみると GD モジュールがない疑惑が生じました。

Fatal error: Call to undefined function imagecreatetruecolor() 

GD モジュールの確認

GD モジュールは、PHP 5.2.0 以上の場合標準でインストールされているとのことです。

じゃあ PHP のバージョンが低いの?と思って調べてみると、5.1.6 でした…。

$ php -v
 PHP 5.1.6 (cli) (built: Nov 29 2010 16:47:37)

念のため GD モジュールが存在するのか確認したけど、やっぱりない。

やっぱり別にインストールする必要がありました。

今まで確認する時って、画面に phpinfo(); とかで表示してたけど、コマンドで確認する方法を覚えました。

# 実行はこんな感じで
$ php -i | grep gd
$ php -m | grep gd

GD モジュールインストール

GDライブラリのインストール を参考にしてインストールすることにしました。

ファイルを wget で取得したところまでは良かったのですが、make 時にエラーが起こりました。

$ cd /usr/local/src
$ wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
$ cd gd-2.0.35
$ ./configure
$ make
cd . && /bin/sh /usr/local/src/gd-2.0.35/config/missing --run aclocal-1.9 -I config
aclocal:configure.ac:64: warning: macro `AM_ICONV' not found in library
 cd . && /bin/sh /usr/local/src/gd-2.0.35/config/missing --run automake-1.9 --foreign
Makefile.am:18: Libtool library used but `LIBTOOL' is undefined
Makefile.am:18:
Makefile.am:18: The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
Makefile.am:18: to `configure.ac' and run `aclocal' and `autoconf' again.
make: *** [Makefile.in] Error 1

エラーの原因?

よくわからないんですが、libgdのmakeでエラー を見ると同じような状態になっている人がいました。

libiconv を入れれば動くのかな…?と思いつつ、もう嫌になってきました。

周りの人に助けを求めたら、「yumインストールできるんじゃない?」といわれてショックをうけつつ、上記の方法でインストールしたのでした。

トラックバック - http://d.hatena.ne.jp/yun_kichi/20110309/1299663104