如何用Perl为WWW编写服务器端代码?
我是Perl编程新手。如何使用它来代替PHP?在Xampp或PHP中,我们有“htdocs”来存储.PHP文件,但如何保存.pl文件呢如何用Perl为WWW编写服务器端代码?,perl,Perl,我是Perl编程新手。如何使用它来代替PHP?在Xampp或PHP中,我们有“htdocs”来存储.PHP文件,但如何保存.pl文件呢 当我试图通过localhost打开一个.pl时,整个文件都是可下载的,不像在php中打开一个.php,php代码是可执行的。最简单的选择是将web服务器配置为支持CGI,然后编写Perl以遵循CGI协议(这一点很有帮助)。如果愿意,可以将服务器配置为执行扩展名为.pl的任何文件 稍微复杂一点,但更灵活一点。这是一组中间件,您可以通过多种方式(例如FastCGI或
当我试图通过localhost打开一个.pl时,整个文件都是可下载的,不像在php中打开一个.php,php代码是可执行的。最简单的选择是将web服务器配置为支持CGI,然后编写Perl以遵循CGI协议(这一点很有帮助)。如果愿意,可以将服务器配置为执行扩展名为.pl的任何文件
稍微复杂一点,但更灵活一点。这是一组中间件,您可以通过多种方式(例如FastCGI或mod_perl)连接到web服务器,以获得更好的性能。这也提供了一些不错的调试选项。您可能会发现有一个非常有用的方法。最简单的方法是将web服务器配置为支持CGI,然后编写Perl以遵循CGI协议(这个方法非常有用)。如果愿意,可以将服务器配置为执行扩展名为.pl的任何文件
稍微复杂一点,但更灵活一点。这是一组中间件,您可以通过多种方式(例如FastCGI或mod_perl)连接到web服务器,以获得更好的性能。这也提供了一些不错的调试选项。您可能会发现有一个很有用的方法。从一个简单的方法来看,您的web服务器似乎配置不正确;它应该解释文件,而不是分发文件
出于好奇,如果你懂PHP,为什么要用Perl来处理web呢?我想我不久前读过一篇文章,说PHP在显示网页时比Perl快。从一种天真的方法来看,你的web服务器似乎配置不正确;它应该解释文件,而不是分发文件
出于好奇,如果你懂PHP,为什么要用Perl来处理web呢?我想我之前读过一篇文章,说PHP在显示网页时比Perl快。请参见。请参见。如果您想从Perl5 web开发开始,从CGI开始是有用的,但是 这不是必要的 有一个模块。您可以看看HTTP是如何工作的 以及Apache或您使用的任何服务器如何调用您的CGI程序。好的开始就是使用这个 脚本:
#/usr/bin/env perl
严格使用;
使用警告;
打印“内容类型:text/html\n\n”;
打印“”;
打印“”;
打印“”;
对于我的$var_名称(键%ENV){
打印“”;
打印“$var_name”;
打印“$ENV{$var_name}”,“\n”;
打印“”
}
打印“”;
打印“”;
打印“”;
然后查看“REQUEST\u URI”、“REQUEST\u METHOD”和“QUERY\u STRING”等变量,您可以
了解CGI模块在后台做什么
重要的是要知道脚本必须位于设置为运行cgi的目录中
脚本,例如:
ScriptAlias /cgi_bin/ /var/cgi_bin/
<Directory /var/cgi_bin/>
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
ScriptAlias/cgi\u-bin//var/cgi\u-bin/
选项+执行CGI
AddHandler cgi script.cgi.pl
和文件必须可由运行您的服务器的任何用户执行(如Apache2),并且可读
在此之后,您还可以查看诸如&之类的现代工具包。我建议
你真迷人。还有一个web框架叫做
关于框架,Catalyst在这里已经很长时间了,而且它可以工作,但是它需要一些卡夫牌的东西。这是试图用像mojolicious这样的新框架来修复的。莫乔利:不要
几乎没有外部CPAN依赖项。如果您想从Perl5 web开发开始,从CGI开始是有用的,但是 这不是必要的 有一个模块。您可以看看HTTP是如何工作的 以及Apache或您使用的任何服务器如何调用您的CGI程序。好的开始就是使用这个 脚本:
#/usr/bin/env perl
严格使用;
使用警告;
打印“内容类型:text/html\n\n”;
打印“”;
打印“”;
打印“”;
对于我的$var_名称(键%ENV){
打印“”;
打印“$var_name”;
打印“$ENV{$var_name}”,“\n”;
打印“”
}
打印“”;
普林
ScriptAlias /cgi_bin/ /var/cgi_bin/
<Directory /var/cgi_bin/>
Options +ExecCGI
AddHandler cgi-script .cgi .pl
</Directory>
#!/usr/bin/env perl
use strict;
use warnings;
use Mojolicious::Lite;
get '/(:name)' => {name => 'World'} => sub {
my $self = shift;
$self->render('index');
};
app->start;
__DATA__
@@ index.html.ep
<!DOCTYPE html><html>
<head>
<title> Hello <%= $name %> </title>
</head>
<body>
Hello <%= $name %>
</body>
</html>