首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Apache2在MacOSX10.6Server上的Perl5.8和5.10版本之间切换

如何使用Apache2在MacOSX10.6Server上的Perl5.8和5.10版本之间切换
EN

Stack Overflow用户
提问于 2010-08-10 01:25:56
回答 1查看 2.3K关注 0票数 2

新的Mac Mini Server附带OSX10.6,并且本机支持(附带)两个版本的Perl,Apple默认包含这两个版本是有充分理由的。

它们可以在以下目录下找到: /Library/Perl/5.8.9和/Library/Perl/5.10.0我也可以在/Library/Perl/Updates/5.8.9和/Library/Perl/Updates/5.10.0下找到。

我发现,通过在终端上使用Apples建议的"defaults write“命令,我可以在控制台级别上成功地在perl 5.8.9和5.10.0之间进行切换。

例如,由于OSXServer10.6提供的默认设置为5.10.0,因此我已经成功地使用以下两个命令切换到使用32位的perl 5.8.9,并且一切都在控制台级别上按预期工作。

代码语言:javascript
复制
sudo defaults write /Library/Preferences/com.apple.versioner.perl Version 5.8.9
sudo defaults write com.apple.versioner.perl Prefer-32-Bit -bool yes

我成功地使用CPAN shell为Perl 5.10.0的默认版本安装了以下所需的perl模块:

代码语言:javascript
复制
sudo perl -eshell -MCPAN
install DBI
install CGI
install HTML::Template
install DBD::Pg

我使用DBD:Pg连接到PostgreSQL数据库,这似乎也很好用。

但是,当我尝试从5.10.0切换到Perl 5.8.9时,在Apache中尝试使用相同的Perl代码时得到以下错误。

代码语言:javascript
复制
Server error!
  The server encountered an internal error and was unable to complete your request.
  Error message:
  Premature end of script headers: login.pl
  If you think this is a server error, please contact the webmaster.
Error 500
  192.168.2.100
  Mon Aug 9 12:10:09 2010
  APACHE/2.2.14(UNIX)mod_ssl/2.2.14 OpenSSL/0.9.81

然后我决定,在我使用“-eshell -MCPAN”命令切换到Perl5.8.9之后,再看看"sudo perl -eshell write“可能是个好主意,但是这似乎没有什么帮助。

有人知道为什么我会得到这些结果吗?如果不使用预编译的二进制文件,你有什么建议,因为我从源代码编译没有任何问题。

提前谢谢。

DougPan

EN

回答 1

Stack Overflow用户

发布于 2010-08-10 02:23:31

试过App::perlbrewlocal::lib吗?第一个是为管理多个perl安装而设计的(尽管不知道它是否可以处理现有的安装),第二个是为了……安装了更多库的特殊情况。如果需要,为每个perl版本和每个应用程序提供一组cpan库将非常容易。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3442525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档