设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 操作系统 >> Linux >> 以非超级用户身份安装 mod_perl
精品推荐
Linux点击TOP10
·Linux下安装LumaQQ
·口袋里的Linux:在您的U盘上运行SLAX
·Linux命令Man解释:PPPD(8) :点对点daemon协议
·虚拟网络计算工具VNC使用指南
·Linux系统中如何正确安装摄像头驱动
·Linux 核心--4.内存管理
·Linux 内核文件系统与设备操作流程分析
·Ethernet HOWTO Linux以太网-HOWTO (4)型号的信息
·Linux精彩桌面 GNOME桌面主题安装实例
·Linux下Flash/Shockwave播放器安装
操作系统点击TOP10
·Windows Vista完全硬盘安装法
·Windows Vista 激活不求人
·Windows Vista局域网网络连接设置
·Windows Vista系统动态桌面截图欣赏
·Windows XP中磁盘的分区应用
·Windows NT/2000/XP 出现蓝屏并显示“STOP 0x0000007f”错误
·让Windows XP变身Vista
·一招搞定Vista系统软件不兼容问题
·教你如何正确配置和优化Windows Vista
·只转两圈 加快Windows XP启动速度
精选专题

以非超级用户身份安装 mod_perl

作者: 来源:网络文章 时间:2005-12-13 0:44:46

以非超级用户身份安装 mod_perl(3)
我也安装了perl nbsp;5.6.1版本到 nbsp;/usr/local/lib/ nbsp;,所以当我这么做: nbsp;

% nbsp;/usr/local/bin/perl5.6.1 nbsp;-V

你会看到: nbsp;
@INC:
/usr/local/lib/perl5/5.6.1/i586-linux
/usr/local/lib/perl5/5.6.1
/usr/local/lib/site_perl/5.6.1/i586-linux
/usr/local/lib/site_perl

注意这还是Linux, nbsp;但是较新的perl版本用了奔腾的处理器(所以是i586而不是i386)。这对奔腾处理器的编译优化有用,当二进制Perl扩展被创建时。
所有平台指定的文件,象已编译的C文件用XS或者SWIG去粘合Perl,应该进入类似i386-linux目录。

重点:当我们已经安装了Perl模块进入非标准目录,我们不得不让Perl知道去哪里搜索这四个目录。有两个实现方法:你可以设置PERL5LIB nbsp;环境变量或者你可以在你的脚本中修改@INC变量。

假设我们用Perl nbsp;5.00503版本,在我们的例子中目录如下: nbsp;

/home/sbekman/lib/perl5/5.00503/i386-linux
/home/sbekman/lib/perl5/5.00503
/home/sbekman/lib/perl5/site_perl/5.005/i386-linux
/home/sbekman/lib/perl5/site_perl/5.005

就象前面提到的,你能通过perl nbsp;-V找到确切的目录并用你自己的私人目录代替全局的perl安装基目录。
修改 nbsp;@INC nbsp;是很容易的。最好的途径是用lib模块(编译指示), nbsp;通过在你的脚本最上方加入以下代码片段,这些代码需要本地化已经安装的模块:


use nbsp;lib nbsp;qw(/home/stas/lib/perl5/5.00503/
/home/stas/lib/perl5/site_perl/5.005);

另一个途径是写代码显式修改@INC: nbsp;
BEGIN nbsp;{
unshift nbsp;@INC,
qw(/home/stas/lib/perl5/5.00503
/home/stas/lib/perl5/5.00503/i386-linux
/home/stas/lib/perl5/site_perl/5.005
/home/stas/lib/perl5/site_perl/5.005/i386-linux);
}

注意既然它们如果存在会自动加入(确切地说,当$dir/$archname/auto存在的时候),那么用lib模块我们不必列出一致的结构指定目录。
而且,注意到两种途径都预先考虑到@INC里被搜索的目录。这就允许你安装一个更新的模块加入你的本地库。Perl会用这个模块取代已经安装在系统库里的旧模块。

两种途径都是在编译期间修改 nbsp;@INC nbsp;的值。这个lib模块也用BEGIN块,但是是内部地。

现在,让我假设如下情景。我已经在我的本地库中安装了 nbsp;LWP nbsp;包. nbsp;现在我想安装另一个模块(例如 nbsp;mod_perl) nbsp;,这个模块有在它的首选列表中列出的 nbsp;LWP。我知道我已经安装 nbsp;LWP nbsp;,但是当我为了准备安装的模块运行perl nbsp;Makefile.pl,我被告知我没有安装LWP。

Perl没有办法知道我们有本地已经安装的模块。所有这些都在@INC里列出的目录搜索中。既然后者包含只有4个缺省目录(加上 nbsp;.目录),那么它不可能找到本地安装的 nbsp;LWP nbsp;包。我们不能通过加入代码修改@INC来解决这个问题,而要改变PERL5LIB环境变量才能解决。如果你正在用tcsh解决交互工作,那么这样做: nbsp;

setenv nbsp;PERL5LIB nbsp;/home/stas/lib/perl5/5.00503:
/home/stas/lib/perl5/site_perl/5.005

共8页 9 7 [1] [2] [3] [4] [5] [6] [7] [88 :>

以非超级用户身份安装 mod_perl 相关文章:
以非超级用户身份安装 mod_perl 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com