投稿日:2005年08月08日 作成鷹の巣

No.19511 FedoraCore2でMODPERL使用する方法は。



FedoraCore2でMODPERL使用する方法は。

No.19511 投稿時間:2005年08月08日(Mon) 15:46 投稿者名:MODPERL URL:

・MODPERLを使用するとどうもCGIスクリプトが動作しなくて困っています。
使用していない場合、普通のCGIは動作します。(BBSなど)

MODPERLの設定で、ModPerl::RegistryもModPerl::PerlRunでも動作しません。
MODPERLの場合、『スクリプト上からのパスが絶対パスで指定しないといけない』と
聞いたので、それをためしてみてもだめでした。
他に何か注意するべき事はあるのでしょうか?

下記のスクリプトで、MODPERLが使えているかどうかしらべてみました。

何か情報?をお持ちの方、おられましたら教えてください。
よろしくお願いします。

#MODPERL確認CGI

#!/usr/local/bin/perl
#===========================================================================
# envprint.cgi
#
# This CGI will display all of your servers HTTP Environment Variables
# when called from your browser. Please leave all credits intact.
# Distribute as much as you want.
#
# This software is provided by BSC CONSULTING CGI-Laboratory. ``as is''
# and any express or implied warranties, including, but not limited to,
# the implied warranties of merchantability and fitness for a particular
# purpose are disclaimed.
#
# This CGI works in the environment of mod_perl interface.
# The latest version is available here:
#
#
#
#===========================================================================
use subs qw(exit);

if(exists $ENV{MOD_PERL} || $ENV{GATEWAY_INTERFACE} =~ /^CGI-Perl/){
require Apache; *exit = \&Apache::exit;
$| = 1;
if(!$ENV{PERL_SEND_HEADER} || $ENV{PERL_SEND_HEADER} !~ /^On/i){
my $proto = $ENV{SERVER_PROTOCOL} || 'HTTP/1.0';
print "$proto 200 OK\r\n";
}
}
unless($OSNAME = $^O){
require Config; $OSNAME = $Config::Config{osname};
}
$PERL_VERS = $] if($] =~ /\S/);
$PERL_NAME = $^X if($^X =~ /\S/);

print "Content-type: text/html\r\n\r\n";
print <<_HTML_;
<HTML>
<HEAD>
<TITLE>Server Environment Variables</TITLE>
<STYLE TYPE="text/css">
<!--
A:link { text-decoration: none; }
A:visited { text-decoration: none; }
A:active { text-decoration: none; }
A:hover { text-decoration: underline; }
PRE { font-size: 10pt; }
//-->
</STYLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFFF">
<FONT SIZE="5"><B>Server Environment Variables</B></FONT><BR>
<HR><PRE>
OS NAME = $OSNAME
PROCESS ID = $$
PERL EXECUTABLE = $PERL_NAME
PERL VERSION = $PERL_VERS

_HTML_
;
foreach (sort keys(%ENV)){
print "$_ = $ENV{$_}\n";
}
print <<_HTML_;
</PRE><HR>
<FONT SIZE="2">Provided by <A HREF="http://www.din.or.jp/~bigstone/cgilab/">BSC CONSULTING CGI-LABORATORY.</A></FONT></BR>
<BR>
</BODY>
</HTML>
_HTML_
;
exit;


mod_perlで実行されている場合には、環境変数の $ENV{GATEWAY_INTERFACE} に
'CGI-Perl/1.1' が設定されます。
(通常CGIは 'CGI/1.1') また、'MOD_PERL' 環境変数が設定されます。
(mod_perlのバージョンが設定される)


目次掲示板過去ログ目次▲頁先頭