PHPからperlスクリプトを実行することができる pecl ライブラリの PECL-perl をソースインストールするスクリプト。
PECL-perl http://pecl.php.net/package/perl
perl-1.0.0 をベースに、PHP 5.3 以降にインストールしようとするとエラーになるらしいのでそのためのパッチなどに対応したものです。
※SVN の最新バージョンを落としてくれば良さそうですが。
・SVNから最新の php_perl.c をダウンロード
・php_perl.h に #define PHP_PERL_VERSION 0 を追記
です。
(参照)
http://www.wowtutorial.org/linux-servers/how-compile-php-53x-support-perl-extensions-344.html
http://pecl.php.net/bugs/bug.php?id=17976
#! /bin/sh
PACK=perl-1.0.0
patch_php_perl_h() {
local TMPPATCH=/tmp/tmp.patch
cat > ${TMPPATCH} << _EOT_
*** php_perl.h  2011-01-06 11:26:35.000000000 +0900
--- php_perl.h2 2011-01-06 11:26:59.000000000 +0900
***************
*** 35,38 ****
--- 35,39 ----
  #include "TSRM.h"
  #endif
  
+ #define PHP_PERL_VERSION 0
  #endif
_EOT_
patch < ${TMPPATCH}
rm -rf ${TMPPATCH}
}
# main process
# Download: perl-1.0.0.tgz
wget http://pecl.php.net/get/${PACK}.tgz
tar zxvf ${PACK}.tgz
# Download: newer version of php_perl.h
wget -O ${PACK}/php_perl.c http://svn.php.net/viewvc/pecl/perl/trunk/php_perl.c?revision=289243&view=co
cd ${PACK}
# patch to php_perl.h
patch_php_perl_h
# install
phpize
./configure
make
make install
echo "php.ini に下記を追記し httpd を再起動してください。"
echo "extension=perl.so"
                            
[Blog:技術系メモ] に新規投稿しました。 PHP 5.3.xに PECL-perl http://go.kaz.bz/4w
RT @kazSuenaga: [Blog:技術系メモ] に新規投稿しました。 PHP 5.3.xに PECL-perl http://go.kaz.bz/4w
RT !wPHPnews: PHP 5.3.xに PECL-perl をインストールするスクリプト http://bit.ly/eIbccJ
PHP 5.3.xに PECL-perl をインストールするスクリプト http://bit.ly/eWhpKG