windows XP安装配置Perl Apache
windows XP安装配置Perl
下载:
Apache 1.3.29 :
ActivePerl :http://activestate.com/store/download.aspx?prdGUID=81fbce82-6bd5-49bc-a915-08d58c2648ca
进入View archive of older releases 下载ActivePerl-5.6.1.624-TRIAL2-MSWin32-x86-multi-thread.msi
mod_perl :http://perl.apache.org/download/index.html
mod_perl 1.0: Version 1.30 For use with Apache 1.3.x (同时有Installation 安装说明,不过够详细)
1)双击ActivePerl-5.6.1.624-TRIAL2-MSWin32-x86-multi-thread.msi按照安装向导进行安装即可。如:最后安装路径为:C:\Perl\bin
在命令行测试
C:\Documents and Settings\user>perl -v
正常显示版本号则表示安装成功。
2)编译获取mod_perl.so;解压mod_perl-1.0-current.tar.gz进入目录执行:
C:\modperl_src> perl Makefile.PL APACHE_SRC=Apache的安装目录
(如:F:\mod_perl-1.0-current\mod_perl-1.30>perl Makefile.PL APACHE_SRC=E:\apac
he1329\Apache)
然后再执行(nmake命令需要安装Microsofe Visual C++ 5.0以上):
C:\modperl_src> nmake
C:\modperl_src> nmake test
C:\modperl_src> nmake install
之后将在apache的modules目录下得到mod_perl.so文件。
3) Apache 以加入Perl支持
在httpd.conf文件# Dynamic Shared Object (DSO) Support段的末尾加入以下两行:
LoadModule perl_module modules/mod_perl.so
LoadFile "C:/Perl/bin/perl56.dll"
在# Reconstruction of the complete module list from all available modules段的末尾加入以下行:
AddModule mod_perl.c
找到#AddHandler cgi-script .cgi,然后修改为
AddHandler cgi-script .pl .cgi
找到<IfModule mod_alias.c>段,增加一个Directory元素对应上面的虚拟目录如下:
<Directory "E:/proj/php">
AllowOverride All
Options Indexes Includes ExecCGI
</Directory>
注意:
一般喜欢在perl文件里写
#!/usr/bin/perl
这么写的很大部分原因是为了兼容 Linux(Unix).
但是假设你的 Perl 目录为 C:\usr\bin, 而 Apache 目录为 D:\Apache2. 那你所有的程序头一行必须是
1. #!C:/usr/bin/perl.exe
2. #!usr/bin/perl
3. #!perl
这三种中的一种。其中第 3 种还必须得把 C:\usr\bin 加个 Path 中。
如果你不这么做,当你访问类如 http://localhost/cgi-bin/printenv.pl(此程序以#!/usr/bin/perl开头时) 时就会报错(查看apache的logs):
No such file or directory: couldn't spawn child process: D:/Apache2/cgi-bin/printenv.pl
解决这个问题的方法不是修改 httpd.conf 或者注册表什么的。你要么都用 #!C:/usr/bin/perl.exe 开头,要么将 Apache 和 Perl 安装到一个目录中(都在 C: 或者都在 D:)
下载:
Apache 1.3.29 :
ActivePerl :http://activestate.com/store/download.aspx?prdGUID=81fbce82-6bd5-49bc-a915-08d58c2648ca
进入View archive of older releases 下载ActivePerl-5.6.1.624-TRIAL2-MSWin32-x86-multi-thread.msi
mod_perl :http://perl.apache.org/download/index.html
mod_perl 1.0: Version 1.30 For use with Apache 1.3.x (同时有Installation 安装说明,不过够详细)
1)双击ActivePerl-5.6.1.624-TRIAL2-MSWin32-x86-multi-thread.msi按照安装向导进行安装即可。如:最后安装路径为:C:\Perl\bin
在命令行测试
C:\Documents and Settings\user>perl -v
正常显示版本号则表示安装成功。
2)编译获取mod_perl.so;解压mod_perl-1.0-current.tar.gz进入目录执行:
C:\modperl_src> perl Makefile.PL APACHE_SRC=Apache的安装目录
(如:F:\mod_perl-1.0-current\mod_perl-1.30>perl Makefile.PL APACHE_SRC=E:\apac
he1329\Apache)
然后再执行(nmake命令需要安装Microsofe Visual C++ 5.0以上):
C:\modperl_src> nmake
C:\modperl_src> nmake test
C:\modperl_src> nmake install
之后将在apache的modules目录下得到mod_perl.so文件。
3) Apache 以加入Perl支持
在httpd.conf文件# Dynamic Shared Object (DSO) Support段的末尾加入以下两行:
LoadModule perl_module modules/mod_perl.so
LoadFile "C:/Perl/bin/perl56.dll"
在# Reconstruction of the complete module list from all available modules段的末尾加入以下行:
AddModule mod_perl.c
找到#AddHandler cgi-script .cgi,然后修改为
AddHandler cgi-script .pl .cgi
找到<IfModule mod_alias.c>段,增加一个Directory元素对应上面的虚拟目录如下:
<Directory "E:/proj/php">
AllowOverride All
Options Indexes Includes ExecCGI
</Directory>
注意:
一般喜欢在perl文件里写
#!/usr/bin/perl
这么写的很大部分原因是为了兼容 Linux(Unix).
但是假设你的 Perl 目录为 C:\usr\bin, 而 Apache 目录为 D:\Apache2. 那你所有的程序头一行必须是
1. #!C:/usr/bin/perl.exe
2. #!usr/bin/perl
3. #!perl
这三种中的一种。其中第 3 种还必须得把 C:\usr\bin 加个 Path 中。
如果你不这么做,当你访问类如 http://localhost/cgi-bin/printenv.pl(此程序以#!/usr/bin/perl开头时) 时就会报错(查看apache的logs):
No such file or directory: couldn't spawn child process: D:/Apache2/cgi-bin/printenv.pl
解决这个问题的方法不是修改 httpd.conf 或者注册表什么的。你要么都用 #!C:/usr/bin/perl.exe 开头,要么将 Apache 和 Perl 安装到一个目录中(都在 C: 或者都在 D:)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!