PECL-Perlを使うと、PHPからPerlを実行できるようです。
PECLが入ってなかったのでインストール
今回はDebianなのでaptitude。
# aptitude install php-pear
PECL-Perlをインストールしてみる
# pecl install perl Package "perl" Version "1.0.0" does not have REST xml available Cannot initialize 'perl', invalid or missing package file Package "perl" is not valid install failed #
あらら失敗。
いろいろ調べましたが、こうなってしまうとソースからコンパイルしないといけないみたい。
PECL-Perlをソースからコンパイル
コンパイル時にphpizeが必要なのでphp5-devをインストールする。
# aptitude install php5-dev
ちなみにCentOSやRedHatなどの場合は
# yum install php5-devel
準備OK!
それではソースからコンパイル!
# wget http://pecl.php.net/get/perl-1.0.0.tgz # tar -xvzf perl-1.0.0.tgz # cd perl-1.0.0 # phpize # ./configure --prefix=/usr
ここで、WARNINGが出た。
checking for re2c... no configure: WARNING: You will need re2c 0.9.11 or later if you want to regenerate PHP parsers.
re2c が必要みたい。
# aptitude install re2c
もう一度、コンパイルのやり直し
# wget http://pecl.php.net/get/perl-1.0.0.tgz # tar -xvzf perl-1.0.0.tgz # cd perl-1.0.0 # phpize # ./configure --prefix=/usr # make # make install
で、Apacheを再起動。
# /etc/init.d/apache2 restart
これでOKかなと思った矢先、こんなWarningが出てた。
# php -v PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20060613+lfs/perl.so' - /usr/lib/php5/20060613+lfs/perl.so: cannot open shared object f ile: No such file or directory in Unknown on line 0 PHP 5.2.0-8+etch16 (cli) (built: Nov 24 2009 11:14:47) Copyright (c) 1997-2006 The PHP Group Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies #
よくよくconfigureの結果を見てみると
checking for perl support... yes, shared Note (probably harmless): No library found for -lperl
むむむ。これかなぁ・・?
いろいろ調べてlibperl-devが必要らしいので入れてみる。
# aptitude install libperl-dev
そしておもむろに再起動。
# /etc/init.d/apache2 restart
こんどはうまくいったみたい。
サンプルを実行してみる
ここを参考に、まずはphpファイルを作成。
vi test01.php
中身はこれ。
<?php
print "Hello from PHP!\n"; // PHPから出力
$perl = new Perl(); // Perlをオブジェクト化
$perl->require("test01.pl"); // Perlのファイルを読み込んでEval
print "Bye\n";
?>
次にperlファイルを作成。
vi test01.pl
中身はこれ。
#!/usr/bin/perl print "Hello World from Perl!!!\n"
そして実行!!
# php test01.php Hello from PHP! Hello World from Perl!!! Bye
やったー。なんとか出来ました><
via: http://d.hatena.ne.jp/tageo/20100323/1269328888
via: http://d.hatena.ne.jp/kazukichop/20061120
via: http://www.linuxquestions.org/questions/debian-26/cant-compile-xchat-on-debian-sarge-perl-problem-259654/

[...] http://labs.web-mix.jp/php/install_pecl_perl/ [...]
ピンバック by PHPでperlスクリプトを実行する方法 — 2011年7月5日 @ 2:38 PM