为了回家工作和学习perl,不得不在laptop上装一个windows的perl环境。
Google一下,安装步骤和注意事项。另外还是主要看看cpan上的介绍比较官方。
还是那句老话,按照这里的流程,但不要拘泥于这里,因为大家的知识背景和软件环境不一定相同,请随机应变吧~
1. 安装Apache ( http://httpd.apache.org) )和 ActiveState Perl (http://www.activestate.com/ )。
如果去cpan上看,还是可以到这里的。同时可以看到,除了ActiveState的perl外,还有一个开源的环境,应该也是可以用的。
2. 安装mod_perl。
ppm install http://theoryx5.uwinnipeg.ca/ppmpackages/mod_perl.ppd安装完毕之后会提示输入Apache的路径,输入类似于 D:/Apache2/modules。
注意:可以先到这里看看详情http://theoryx5.uwinnipeg.ca/ppmpackages,看到提示你安装跟自己的perl版本一致的版本,我的版本是(命令perl -v) 得到v5.12.2,所以应该用如下命令安装:
C:\setup\perl\bin>ppm install http://cpan.uwinnipeg.ca/PPMPackages/12xx/mod_perl.ppd
详情看这里:http://cpan.uwinnipeg.ca/PPMPackages/
另外:我碰到如下提示,所以就先安装gcc编译器吧。
It looks like you don't have a C compiler on your PATH, so you will not be
able to compile C or XS extension modules. You can install GCC from the
MinGW package using the Perl Package Manager by running:
ppm install MinGW
安装完毕后显示:
Fetching http://cpan.uwinnipeg.ca/PPMPackages/12xx/x86/mod_perl.so ... done!
Where should mod_perl.so be placed? [D:/Apache2.2/modules] C:\setup\Apache2.2\modules
mod_perl.so has been successfully installed to C:/setup/Apache2.2/modules.
To enable mod_perl, put in the directives
LoadFile "C:/Path/to/Perl/bin/perl510.dll"
LoadModule perl_module modules/mod_perl.so
in httpd.conf. For more information, visit
http://perl.apache.org/
and especially see
http://perl.apache.org/docs/2.0/rename.html
3. 配置mod_perl。修改httpd.conf。
增加以下几行:
LoadFile "c:/setup/perl/bin/perl512.dll"
LoadModule perl_module modules/mod_perl.so
如果安装的httpd自带ssh,则不需要手动配置添加如下行:
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>
修改:
在Apache的安装目录下找到conf/httpd.conf文件,用记事本或其他的文本编辑器打开。
查找“ScriptAlias /cgi-bin/”,可能你的会是下面的这个结果:
ScriptAlias /cgi-bin/ “C:/Program Files/Apache Software Foundation/Apache2.2/cgi-bin/”
如果这行前面的有个“#”符号,就将它去掉。
找到下面的这段文本:
<Directory />
Options FollowSymLinks
AllowOverride all
Order deny,allow
Deny from all
</Directory>
加上“+ExecCGI”,即:
<directory />
Options FollowSymLinks +ExecCGI
AllowOverride all
Order deny,allow
Deny from all
</Directory>
一般来说,Perl CGI脚本就是以cgi为拓展名的,不过你也可以设置成pl为拓展名。修改方法是这样的,查找下面的这行:
AddHandler cgi-script .cgi
在末尾加上“.pl”,即:
AddHandler cgi-script .cgi .pl
4. 重新启动Apache。
补充问题:
问题:The server encountered an internal error or
misconfiguration and was unable to complete
your request.
查看$HOME/logs/error.log可以看到下面的错误:
The system cannot find the file specified. : couldn't create child process: 720002: printenv.pl
The system cannot find the file specified. : couldn't spawn child process: C:/setup/Apache2.2/cgi-bin/printenv.pl
网上搜索了很多关于此问题的答案,无果。最终解决方法:
还是看httpd的官方文档,终于解决。可能的问题为:
#1. perl文件的文件头路径没有写正确,如#! c:/setup/perl
/bin/perl.exe
#2. 新的httpd2.2(2.0可能也这样),需要在最前面增加下面一行(下面下划线)。
#! c:/setup/perl/bin/perl.exe
print "Content-type: text/html\n\n";
...your_content_below...
为这个问题折腾了整整一天半。这一行的作用主要是告诉浏览器返回的类型,这涉及到标准CGI输出,还要明白Server和CGI和客户端的关系、通信、作用。
--有些详细的东西,尤其是版本不一致的情况下,一定要看官方的文档,否则很容易走弯路。
分享到:
相关推荐
8. **持久连接和FastCGI**:为了提高性能,可以学习如何使用Apache的mod_perl或者FastCGI来实现Perl CGI的持久化运行,从而减少每次请求时的启动开销。 9. **模板系统**:当CGI程序复杂性增加时,使用模板系统(如...
标题 "ActivePerl_mtk_feature_phone_win10_ltsc_2019.zip" 提供了关键信息,这是一款专为Windows 10 LTSC 2019版本的MTK(MediaTek)特色手机设计的Perl环境,即ActivePerl的一个特定版本。描述中指出这个版本是...
Perl_CGI六天入门 第一天 1.1 Unix环境 1.2 chmod命令 1.3 定位Perl和sendmail 第二天 2.1 使用Emacs 2.2 Perl简介 2.3 HTML FORM 第三天 3.1 回应脚本 3.2 脚本解释 3.3 BODY部分 第四天 4.1...
ActivePerl是Perl编程语言的一个流行的Windows版本,由ActiveState公司提供。标题中的"ActivePerl_5.16"指的是该软件的特定版本,即5.16系列。Perl是一种强大的文本处理和脚本编程语言,广泛应用于系统管理、网络...
在本文中,我们将深入探讨"PERL perl_add_ons 3"的相关知识点,包括其安装、使用以及一些常见的Perl模块。 首先,Perl的模块安装通常通过CPAN(Comprehensive Perl Archive Network)进行,这是一个庞大的开源Perl...
Perl在处理文本文件、网络编程、系统管理任务(如脚本自动化)、Web开发(尤其是与CGI相关的应用)以及生物信息学等领域有广泛的应用。它的强大力量在于能够快速编写出解决特定问题的代码,这得益于其灵活的语言结构...
Perl CGI(Common Gateway Interface)是一种使用Perl编程语言与Web服务器交互的技术,主要用于创建动态网页。对于初学者,尤其是那些已经熟悉PHP的开发者来说,Perl CGI是扩展技能树的一个良好起点,因为两者在处理...
ActivePerl_5.16.2.3010812913_BDd语言解释器
标题中的"perl_Perl_"可能是指一系列关于Perl编程的示例或教程,而描述则提到“读取源文件,将字母大小写转换,最后输出一个新文件”,这是Perl处理文本时常见的任务。 在Perl中,读取文件通常使用内置的文件句柄和...
Perl_CGI.chm
ActivePerl是Perl编程语言的一个预编译版本,特别为Windows平台设计,以提供方便的安装和使用环境。标题中的"ActivePerl_x64_5.24.1.2402.zip"指的是64位架构的ActivePerl,版本号为5.24.1,该版本已经打包在ZIP压缩...
7. **网络编程**:Perl可以轻松处理TCP/IP套接字,用于构建网络服务和客户端程序。 通过学习和实践"perl_example.zip"中的内容,IT人员能够深化对Perl的理解,提高其在实际工作中的应用能力。无论是系统管理员还是...
在Perl中,使用Time::Date通常需要先通过CPAN(Comprehensive Perl Archive Network)下载并安装该模块。然而,在这里提到的可能是ActivePerl的环境,ActivePerl是Perl的一种预编译版本,包含了大部分常用的Perl模块...
Effective_Perl_Programming_Writing_Better_Programs_with_Perl.rar Effective_Perl_Programming_Writing_Better_Programs_with_Perl.rar
"Setup.exe" 是一个Windows安装程序,可能是为了方便Windows用户安装和管理Perl库中的组件。这个文件可能包含一个图形界面,引导用户选择要安装的Perl模块,配置路径,以及设置环境变量。通过运行这个安装程序,...
### 教程:《一周内学会Perl 5 CGI编程》 #### 一、引言 在数字时代,网站的功能性和互动性变得越来越重要。而实现这些功能的关键技术之一就是CGI(通用网关接口)编程。Perl作为一种强大的脚本语言,在CGI编程...
在Windows环境中,Perl可以利用Win32 API(应用程序接口)来执行一些更底层的操作,比如打开文件。"perl_open.rar_open_win32apiperl"这个主题就涉及到如何在Perl中调用Win32 API来实现文件的打开功能,并且会弹出一...
这个例子对于学习如何在不同的操作系统,如Windows,使用CGI技术非常有帮助。 首先,CGI的核心概念是它充当了HTTP服务器与外部应用程序之间的桥梁。当用户通过浏览器发送请求到服务器,CGI脚本会被执行以处理这些...
ActivePerl_5.16.2_14792_BDdl安装程序
- 安装与启动:详细步骤指导如何在不同操作系统上安装Apache并启动服务。 - 基本配置:介绍如何配置httpd.conf文件以满足基本的Web服务器需求。 - 虚拟主机:讲解如何通过Apache实现多个网站在同一服务器上的运行...