[perl] mod_perl2導入
まず、mod_perl2には2つの使い方がある。
・Registryモード
ModPerl::Registryを利用。
1回目の起動でメモリー上にキャッシュされるモード。
起動/実行共に一番速いが、use strictなコードでないと変数の内容も
キャッシュされる。
・PerlRunモード
キャッシュされないけど起動が多少速い
ModPerl::PerlRunを利用。
CGI向けに書いたコードの移植向け。
■インストール方法(ubuntu)
sudo apt-get install libapache2-mod-perl2
cpan からApache::DBIをインストール
■設定
sudo vi /etc/apache2/conf.d/mods-available/perl.conf
# Load Modules
PerlModule Apache::DBI CGI DBD::mysql
# 'Registry' Mode
<Files *.mcgi>
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlSendHeader On
Options +ExecCGI
</Files>
# 'PerlRun' Mode
<Files *.mpl>
SetHandler perl-script
PerlHandler ModPerl::PerlRun
PerlSendHeader On
Options +ExecCGI
</Files>
sudo ln -s /etc/apache2/conf.d/mods-enabled/perl.conf /etc/apache2/conf.d/mods-available/perl.conf
sudo /etc/init.d/apache2 restart
■動作確認
vi /var/www/html/test.mcgi
#!/usr/bin/perl
use strict;
use warnings;
print "Content-Type: text/html\n\n";
print $ENV{'MOD_PERL'};
ブラウザから実行して
mod_perl/2.04
のように表示されればOK。
・Registryモード
ModPerl::Registryを利用。
1回目の起動でメモリー上にキャッシュされるモード。
起動/実行共に一番速いが、use strictなコードでないと変数の内容も
キャッシュされる。
・PerlRunモード
キャッシュされないけど起動が多少速い
ModPerl::PerlRunを利用。
CGI向けに書いたコードの移植向け。
■インストール方法(ubuntu)
sudo apt-get install libapache2-mod-perl2
cpan からApache::DBIをインストール
■設定
sudo vi /etc/apache2/conf.d/mods-available/perl.conf
# Load Modules
PerlModule Apache::DBI CGI DBD::mysql
# 'Registry' Mode
<Files *.mcgi>
SetHandler perl-script
PerlHandler ModPerl::Registry
PerlSendHeader On
Options +ExecCGI
</Files>
# 'PerlRun' Mode
<Files *.mpl>
SetHandler perl-script
PerlHandler ModPerl::PerlRun
PerlSendHeader On
Options +ExecCGI
</Files>
sudo ln -s /etc/apache2/conf.d/mods-enabled/perl.conf /etc/apache2/conf.d/mods-available/perl.conf
sudo /etc/init.d/apache2 restart
■動作確認
vi /var/www/html/test.mcgi
#!/usr/bin/perl
use strict;
use warnings;
print "Content-Type: text/html\n\n";
print $ENV{'MOD_PERL'};
ブラウザから実行して
mod_perl/2.04
のように表示されればOK。