CentOS5.5 PHP 5.3.3にphp-imlibをインストール

 Imlib2でImageMagickより3倍高速かつ美しいサムネイル画像の生成できるというimlib2のphpのextensionであるphp-imlibを入れてみる。インストール方法についてはこちらを参考にした。peclに登録されていないので、自前でsvnレポジトリを落としてきて入れる必要がある。※peclにはimglib2という別のextensionが登録されているようだ。こちらについては情報がないので、また別途インストールを試みてみることにする。

ライブラリのインストール

yum -y install imlib2 imlib2-devel
yum -y install t1lib t1lib-devel
yum -y install libtool-ltdl libtool-ltdl-devel
yum -y install freetype-devel
  • パッケージがなければ予めrpmforge等のレポジトリから取得するように変更しておく
--enablerepo=rpmforge 

ダウンロード

cd /usr/local/src
svn co https://lampka.siedziba.pl:790/svn/repos/php-imlib/trunk/ php-imlib
  • ダウンロード先SSL証明書が不正と言われるが(p)で継続する

パッチ

  • makeでこけるのでこちらを参考に以下のパッチを作成した。
diff -u php-imlib.old/php_imlib.c php-imlib/php_imlib.c 
--- php-imlib.old/php_imlib.c   2010-10-03 23:10:21.000000000 +0900
+++ php-imlib/php_imlib.c       2010-10-03 23:06:25.000000000 +0900
@@ -37,7 +37,17 @@
 zend_imlib_globals imlib_globals;
 #endif
 
-static
+        ZEND_BEGIN_ARG_INFO(second_arg_force_ref, 0) 
+               ZEND_ARG_PASS_INFO(0) 
+               ZEND_ARG_PASS_INFO(1) 
+        ZEND_END_ARG_INFO(); 
+ 
+        ZEND_BEGIN_ARG_INFO(third_arg_force_ref, 0) 
+               ZEND_ARG_PASS_INFO(0) 
+               ZEND_ARG_PASS_INFO(0) 
+               ZEND_ARG_PASS_INFO(1) 
+        ZEND_END_ARG_INFO(); 
+
         ZEND_BEGIN_ARG_INFO(third_and_fourth_arg_force_ref, 0)
                 ZEND_ARG_PASS_INFO(0)
                 ZEND_ARG_PASS_INFO(0)
@@ -45,7 +55,6 @@
                 ZEND_ARG_PASS_INFO(1)
         ZEND_END_ARG_INFO();
 
-static
         ZEND_BEGIN_ARG_INFO(second_through_fifth_arg_force_ref, 0)
                 ZEND_ARG_PASS_INFO(0)
                 ZEND_ARG_PASS_INFO(1)
@@ -54,7 +63,6 @@
                 ZEND_ARG_PASS_INFO(1)
         ZEND_END_ARG_INFO();
 
-static
         ZEND_BEGIN_ARG_INFO(third_through_sixth_arg_force_ref, 0)
                 ZEND_ARG_PASS_INFO(0)
                 ZEND_ARG_PASS_INFO(0)

設定&インストール

cd php-imlib
./phpize
./configure && make && make install