[英]basic mod_perl question
我是Perl的新手。
我寫了一個非常簡單的Perl程序(腳本):
print "hello";
當我在命令提示符(使用命令-perl first.pl)上執行它時,它可以工作。
但是,當我在apache的“過濾器”中使用相同的Perl代碼時,它不起作用。 為了提供更多詳細信息,我正在使用httpd.conf文件中的以下配置調用Apache Http Server中URL的過濾器:
<Location /something.do>
SetHandler modperl
PerlResponseHandler MyApache2::FirstPerlProg
</Location>
FirstPerlProg.pm文件(在indigoampp \\ perl-5.12.1 \\ site \\ lib \\ MyApache2位置)具有與first.pl相同的代碼。
index.html頁面(第一頁)具有一種將請求提交到something.do的形式,並且此過濾器被調用。
問題是,如何以及在哪里看到此過濾器的輸出(您好)?
希望我的問題清楚。
我知道我不會在此過濾器代碼中進行任何HTTP響應發送到瀏覽器,這就是為什么提交后出現“無法顯示頁面”的原因。 但是我不知道該怎么辦。
謝謝。
取決於您的編寫方式。 按照您的代碼,骨架應該看起來像
package MyApache2::FirstPerlProg; use Apache2::Const qw(OK); use Apache2::RequestRec; use Apache2::RequestIO; sub handler { my ($r) = @_; $r->content_type("text/html"); $r->print("hello"); return OK; } 1;
對於mod_perl請求處理程序而言,這幾乎是最低的要求。 這應該是從請求返回的響應,應該在瀏覽器中看到它。 您也可以使用Apache2::Log
,然后使用$r->log_error("text")
發送到error_log。
如果您希望腳本運行CGI-ish,請使用ModPerl :: Registry。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.