Apache version 2.2.
Perl: ActivePerl 5.10 for x86
PHP:5.3
简单,略
目前ActivePerl最新版为5.16, 由于刚出来,所以PPM库中还没有编译好的mod_perl可供下载安装。当然我可以下载source code编译安装,但重点是为了玩apache,所以就寻找简单的路径,使用5.10版本。Apache的官方文档在http://perl.apache.org/docs/1.0/os/win32/install.html#PPM_Packages.
mod_perl是Perl和Apache相互整合的一个模块。据称,apache下的mod_perl的运行速度是cgi的100倍。在整合之前,先安装perl。
1, 下载ActivePerl 5.10并安装到c:\perl下。
2, 打开cmd,敲入命令ppm-shell. PPM中并不包含mod_perl,我们需要增添相应平台的库:http://cpan.uwinnipeg.ca/PPMPackages/10xx
>ppm-shell ppm>repo add ppm>search mod_perl ppm>install 1
安装mod_perl.so的过程中,会询问你apache module的路径。win7上可能会报找不到路径的错误,这是因为运行的权限不够,可以在控制面版中将UAC关掉。
3,配置apache+perl, 打开httpd.conf,加入下面两行:
LoadFile "C:/Perl/bin/perl510.dll" LoadModule perl_module modules/mod_perl.so
4,重启apache,使用命令httpd.exe -M来查看启动的模块。
5, 验证系统的perl工作正确,perl在cgi下已经正常工作。打开目录cgi-bin下面的printenv.pl, 编辑第一行,指定正确的perl.exe地址。
#!C:/Perl/bin/perl.exe
6,配置mod_perl,使得perl在mod_perl下工作。据说这种速度比cgi下的速度要快100倍。在httpd.conf中添加
<IfModule perl_module> Alias /perl/ "C:/Program Files (x86)/Apache Software Foundation/Apache2.2/perl/" <Location /perl> SetHandler perl-script PerlResponseHandler ModPerl::Registry Options +ExecCGI PerlOptions +ParseHeaders AllowOverride None Order allow,deny Allow from all </Location> </IfModule>
然后在
C:/Program Files (x86)/Apache Software Foundation/Apache2.2/
目录下面创建目录perl, 并创建一个perl脚本test.pl
print "Contennt-Type: text/html\n\n"; print "Hello, world! ";
在浏览器中输入http://localhost/perl/test.pl 查看结果。
首先需要安装配置独立的php5,我选择的是最简单的msi安装包。这种安装方式可以帮你配置apache module或者apache cgi二选一。
1, 下载php5安装包,并进行安装,安装结束后,httpd.conf中会被写入以下配置。
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL PHPIniDir "C:\PHP\" LoadModule php5_module "C:\PHP\php5apache2_2.dll" #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
2, 在/htdocs/目录下,创建一个test.php文件,文件中code:
<?php phpinfo(); ?>
在浏览器中输入 http://localhost/test.php 检查php已经可以被运行了。
3,我们还可以使用msi的installer更改php的配置,将apache module模式改为apache cgi模式。installer会在httpd.conf文件中插入:
#BEGIN PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL ScriptAlias /php/ "C:\PHP\" Action application/x-httpd-php "C:\PHP\php-cgi.exe" #END PHP INSTALLER EDITS - REMOVE ONLY ON UNINSTALL
然后重启apache。在cgi-bin目录下创建一个测试文件,test.php:
#!C:/PHP/php.exe <?php print "Content-type: text/plain; charset=utf-8\n\n"; phpinfo(); ?>
在浏览器中输入 http://localhost/cgi-bin/test.php 以检测php cgi是否工作。
msi安装只能二选一,如果选择了cgi,module模式就会被remove掉,如果选择了module,cgi就会被remove掉。