[英]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 :: perlbrew和local :: lib嗎? 第一個用於管理Perl的多個安裝(盡管不知道它是否可以執行現有安裝),第二個用於安裝更多特殊情況的庫。 如果需要,每個perl版本和每個應用程序都有一套cpan庫非常容易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.