我如何在没有apache的情况下运行我的perl CGI脚本?这是用于测试目的,所以某种一次只处理一个请求的单进程服务器对我来说应该足够了。
我如何在没有apache的情况下运行我的perl CGI脚本?这是用于测试目的,所以某种一次只处理一个请求的单进程服务器对我来说应该足够了。
plackup
和默认单线程 Plack HTTP 服务器一起使用),但它们并没有在 CGI 期望运行的上下文中(独立进程)运行 CGIs,所以不是完全美观的(与使用 modperl registry 相同的注意事项适用,或多或少)。我不知道是否有一个纯 Perl Web 服务器实际上分叉并作为 CGI 运行(也没有非 Perl 的 Web 服务器需要零配置来运行 CGI,尽管 lighttpd 接近)。(随机排列以隐藏我明显的偏见),并且能够轻松地将相同的应用程序作为独立的HTTP服务器、FastCGI、mod_perl应用程序或纯CGI运行,而不会出现编写CGI.pm接口时出现的阻抗失配问题。
由于您在评论中提到了使用CGI.pm,请注意,CGI.pm提供了一系列选项,可用于从命令行运行CGI脚本。请参见http://perldoc.perl.org/CGI.html#DEBUGGING。即使没有CGI.pm,您也可以伪造必要的环境变量并将文件导入。基本上,您只需要设置一下即可从命令行运行CGI。
QUERY_STRING = blah=x&fu=bar
对于GET方法,或者
CONTENT_LENGTH = length of your file
对于POST方法。
REQUEST_METHOD
(=GET/POST),至少我的CGI.pm在没有它的情况下无法理解请求。 - Dallaylaenit is possible to specify its location at run time using the
-f
command-line option as in/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf
获取一个虚拟机,随心所欲地使用它,包括运行Apache。尽可能复制您的目标设置。