カテゴリ

PHP

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"

perl ism へ返信するコメントをキャンセル

いただいたコメント
  1. [Blog:技術系メモ] に新規投稿しました。  PHP 5.3.xに PECL-perl http://go.kaz.bz/4w

  2. RT @kazSuenaga: [Blog:技術系メモ] に新規投稿しました。  PHP 5.3.xに PECL-perl http://go.kaz.bz/4w

  3. perl ism より:

    RT !wPHPnews: PHP 5.3.xに PECL-perl をインストールするスクリプト http://bit.ly/eIbccJ

  4. PHP 5.3.xに PECL-perl をインストールするスクリプト http://bit.ly/eWhpKG