带有mod_perl2的Strawberry Perl:从CPAN构建Apache2模块

时间:2010-11-09 04:13:03

标签: perl mod-perl mod-perl2 strawberry-perl apache2-module

我按照这些instructions on the mod_perl mailing list安装了Strawberry Perl 5.10和mod_perl2,没有任何问题。但是,尝试安装我的脚本使用的各种Apache2::模块会导致错误。一个(Apache2::Reload)我能够安装尽管如此:

C:\>cpan -f Apache2::Reload
CPAN: CPAN::SQLite loaded ok (v0.199)
Database was generated on Tue, 09 Nov 2010 02:40:29 GMT
Running install for module 'Apache2::Reload'
Running make for P/PH/PHRED/Apache-Reload-0.11.tar.gz
CPAN: Digest::SHA loaded ok (v5.48)
CPAN: Compress::Zlib loaded ok (v2.03)
Checksum for C:\strawberry\cpan\sources\authors\id\P\PH\PHRED\Apache-Reload-0.11
.tar.gz ok
CPAN: Archive::Tar loaded ok (v1.66)
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.40)
CPAN: Module::CoreList loaded ok (v2.36)

  CPAN.pm: Going to build P/PH/PHRED/Apache-Reload-0.11.tar.gz

Cannot opendir Y:\Apache\APACHE~2\lib: No such file or directory at C:/strawberr
y/perl/site/lib/Apache2/Build.pm line 1664.
Warning: No success on command[C:\strawberry\perl\bin\perl.exe Makefile.PL]
CPAN: YAML loaded ok (v0.71)
  PHRED/Apache-Reload-0.11.tar.gz
  C:\strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install

C:\>

...只需将几个.pm文件复制到site/lib即可。然而,其他我不太确定。例如,Apache2::RequestRec给出了以下错误:

C:\>cpan -f Apache2::RequestRec
CPAN: CPAN::SQLite loaded ok (v0.199)
Database was generated on Tue, 09 Nov 2010 02:40:29 GMT
CPAN: Module::CoreList loaded ok (v2.36)
Running install for module 'Apache2::RequestRec'
Running make for G/GO/GOZER/mod_perl-2.0.4.tar.gz
CPAN: Digest::SHA loaded ok (v5.48)
CPAN: Compress::Zlib loaded ok (v2.03)
Checksum for C:\strawberry\cpan\sources\authors\id\G\GO\GOZER\mod_perl-2.0.4.tar
.gz ok
CPAN: Archive::Tar loaded ok (v1.66)
CPAN: File::Temp loaded ok (v0.22)
CPAN: Parse::CPAN::Meta loaded ok (v1.40)

  CPAN.pm: Going to build G/GO/GOZER/mod_perl-2.0.4.tar.gz

no conflicting prior mod_perl version found - good.

Next we need to know where the 'apxs' script is located. This script
provides a lot of information about the Apache installation, and makes
it easier to find things on your system. Normally it's located in the
same directory as the 'httpd' executable.

If you don't yet have Apache installed you can build Apache against
the Apache source code, but you won't be able to run the test suite (a
very important step). Therefore you may want to install Apache before
proceeding.


Please provide a full path to 'apxs' executable
(press Enter if you don't have it installed):


Please provide the location of the Apache directory:  C:\Program Files\Apache So
ftware Foundation\Apache2.2
[  error] Unable to open C:\Program Files\Apache Software Foundation\Apache2.2/a
p_release.h: No such file or directory
[  error] Unable to determine server version, aborting.
[  error] Please specify MP_APXS or MP_AP_PREFIX.
Warning: No success on command[C:\strawberry\perl\bin\perl.exe Makefile.PL]
CPAN: YAML loaded ok (v0.71)
  GOZER/mod_perl-2.0.4.tar.gz
  C:\strawberry\perl\bin\perl.exe Makefile.PL -- NOT OK
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install

C:\>

在Strawberry Perl下编译Apache2::模块是否有一些技巧?我是否还需要编译自己的Apache二进制文件? (如果是这样,我可以使用草莓提供的制作工具吗?)

2 个答案:

答案 0 :(得分:1)

如果从源代码编译apache,则应该从apache获得apxs.exe。 将其添加到PATH。您需要一些Apache::位的apache源代码。

答案 1 :(得分:1)

通过这些说明进行安装实际上会安装所有Apache2::模块,Apache2::Reload除外。