簡體   English   中英

如何在Mac OS X 10.6 Server上的Perl 5.8和5.10版本之間切換以及如何使用Apache2

[英]How to switch between versions of Perl 5.8 and 5.10 on Mac OS X 10.6 Server and using Apache2

新的Mac Mini Server隨附OS X 10.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。

我發現我可以通過在終端上使用Apple建議的“默認寫入”命令在控制台級別成功在perl 5.8.9和5.10.0之間進行切換。

例如,自從OS X Server 10.6交付以來,默認設置為5.10.0,我已經成功使用以下兩個命令使用32位切換到perl 5.8.9,並且一切都能在控制台級別按預期進行。

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模塊,例如perl 5.10.0的默認版本:

sudo perl -eshell -MCPAN
install DBI
install CGI
install HTML::Template
install DBD::Pg

我使用DBD:Pg連接到PostgreSQL數據庫,這似乎也可以正常工作。

但是,當我嘗試從5.10.0切換到Perl 5.8.9時,嘗試使用相同的Perl代碼時在Apache中出現以下錯誤。

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

然后,我決定使用“默認寫入”命令切換到perl 5.8.9之后,再次瀏覽“ sudo perl -eshell -MCPAN”可能是個好主意,但這似乎無濟於事。

有誰知道為什么我得到這些結果? 您對不使用預編譯二進制文件的更好方法有什么建議嗎,因為我從源代碼編譯沒有任何問題。

提前致謝。

道格潘

嘗試過App :: perlbrewlocal :: lib嗎? 第一個用於管理Perl的多個安裝(盡管不知道它是否可以執行現有安裝),第二個用於安裝更多特殊情況的庫。 如果需要,每個perl版本和每個應用程序都有一套cpan庫非常容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM