MagickWand for PHPを使いたいけど、今安定して動いてる環境を壊したくないからPHP4を入れ直すのは嫌で、しかもいずれはPHP5に移行するためのテスト環境も必要などなどの理由から、Vine3.2のサーバにPHP5+MagickWandをインストールした。
ImageMagick・PHP5・MagickWandのソースファイルをそれぞれ落としてきて、インストール。
ImageMagickのインストール
[src]$ tar zxvf ImageMagick.tar.gz
[ImageMagick-6.4.5]$ cd ImageMagick-6.4.5
[ImageMagick-6.4.5]$ ./configure --prefix=/usr/local/imagemagick
[ImageMagick-6.4.5]$ make
[ImageMagick-6.4.5]$ sudo make install
まぁ、インストール先は自由に。後で消しやすいようにまるまるディレクトリを作った。[ImageMagick-6.4.5]$ cd ImageMagick-6.4.5
[ImageMagick-6.4.5]$ ./configure --prefix=/usr/local/imagemagick
[ImageMagick-6.4.5]$ make
[ImageMagick-6.4.5]$ sudo make install
これで、/usr/local/imagemagickの中にbinディレクトリが出来るので、カレントディレクトリに適当な画像ファイルを置いて、
$ /usr/local/imagemagick/bin/convert test.jpg test.png
などとしてやって、画像の変換が出来たらおめでとうな感じ。というか、ImageMagickはaptで入れれたかもしれん。考えてなかった。
PHP5とMagickWandのインストール
[src]$ tar zxvf MagickWandForPHP-1.0.7.tar.gz
[src]$ tar zxvf php-5.2.6.tar.gz
[src]$ cp -r ./MagickWandForPHP-1.0.7 ./php-5.2.6/ext/magickwand/
[src]$ cd ./php-5.2.6/ext/magickwand/
[magickwand]$ phpize
[magickwand]$ cd ../../
[php-5.2.6]$ ./buildconf --force
[php-5.2.6]$ ./configure --prefix=/usr/local/php5 --enable-force-cgi-redirect --with-magickwand=/usr/local/imagemagick --with-pgsql --with-gd --enable-gd-native-ttf --with-iconv --enable-mbstring --enable--zend-multibyte --with-freetype --with-png --with-jpeg --with-zlib
[php-5.2.6]$ make
[php-5.2.6]$ sudo make install
なんかlibjpegが見つからない的なエラーが出たら、[src]$ tar zxvf php-5.2.6.tar.gz
[src]$ cp -r ./MagickWandForPHP-1.0.7 ./php-5.2.6/ext/magickwand/
[src]$ cd ./php-5.2.6/ext/magickwand/
[magickwand]$ phpize
[magickwand]$ cd ../../
[php-5.2.6]$ ./buildconf --force
[php-5.2.6]$ ./configure --prefix=/usr/local/php5 --enable-force-cgi-redirect --with-magickwand=/usr/local/imagemagick --with-pgsql --with-gd --enable-gd-native-ttf --with-iconv --enable-mbstring --enable--zend-multibyte --with-freetype --with-png --with-jpeg --with-zlib
[php-5.2.6]$ make
[php-5.2.6]$ sudo make install
sudo apt-get install libjpeg-devel
で解決した気がする。develじゃないかも。忘れた。Configureオプションの、--enable-force-cgi-redirectは、既にPHP4がapacheのモジュールとして動いてるから、今回入れるPHP5をCGIとして動かすために入れた。
さて、これでphp5のインストールが出来たけども、apacheで動かせるようにしてやらんといかん。
PHP5をインストールしたディレクトリに出来たbinディレクトリの中にあるphp-cgiってのが、CGIで動かす用のバイナリなので、apacheがアクセス出来る場所にハードリンクを作成する。
$ sudo ln /usr/local/php5/bin/php-cgi /home/httpd/cgi-bin/php5
そして、httpd.confに、Action php5-script /cgi-bin/php5
AddHandler php5-script .php5 .5
てな具合で2行追加して、今作ったハードリンクでphp5ファイルを開くように設定。AddHandler php5-script .php5 .5
携帯サイトを運営している都合上、URLを極力短くしたいという事情があって、.5という拡張子でも開けるようにした。これで、「i.5」のような短いファイル名が実現。
余談1:このPHP5のphp.iniは
/usr/local/php5/lib/php.ini
にあるわけだが、階層が深すぎて編集するのが面倒すぎるので、
$ sudo ln /usr/local/php5/lib/php.ini /etc/php5.ini
こんな感じで辿り着きやすくした。
/usr/local/php5/lib/php.ini
にあるわけだが、階層が深すぎて編集するのが面倒すぎるので、
$ sudo ln /usr/local/php5/lib/php.ini /etc/php5.ini
こんな感じで辿り着きやすくした。
余談2:viエディタで.php5や.5ファイルを開いたときに、PHPの色の設定になってくれるように、
/usr/share/vim/vim63/filetype.vim
の、
au BufNewFile,BufRead *.php,*.php3, setf php
になってる行を、
au BufNewFile,BufRead *.php,*.php3,*.php5,*.5 setf php
てな感じに書き換えてやった。
/usr/share/vim/vim63/filetype.vim
の、
au BufNewFile,BufRead *.php,*.php3, setf php
になってる行を、
au BufNewFile,BufRead *.php,*.php3,*.php5,*.5 setf php
てな感じに書き換えてやった。