Chinaunix

标题: PERLLIB、PERL5LIB如何设置(linux)?或如何添加新路径到@INC [打印本页]

作者: freeand    时间: 2007-09-02 22:35
标题: PERLLIB、PERL5LIB如何设置(linux)?或如何添加新路径到@INC
登陆服务器执行就可以:
# perl -V

@INC:
  /usr/local/perl/lib/5.8.8/i686-linux-thread-multi
  /usr/local/perl/lib/5.8.8
  /usr/local/perl/lib/site_perl/5.8.8/i686-linux-thread-multi
  /usr/local/perl/lib/site_perl/5.8.8
  /usr/local/perl/lib/site_perl
  .

# export PERLLIB=/new/perl/lib
# export PERL5LIB=/new/perl/lib
# perl -V

@INC:
  /new/perl/lib  
  /usr/local/perl/lib/5.8.8/i686-linux-thread-multi
  /usr/local/perl/lib/5.8.8
  /usr/local/perl/lib/site_perl/5.8.8/i686-linux-thread-multi
  /usr/local/perl/lib/site_perl/5.8.8
  /usr/local/perl/lib/site_perl
  .

但是,在webserver(apache)访问perl程序就得不到/new/perl/lib这个路径。
另外,我把
# export PERLLIB=/new/perl/lib
# export PERL5LIB=/new/perl/lib
放到系统自动运行,结果也不行。


如何在@INC里添加新的路径,让web方式访问也生效呢?谢谢。

[ 本帖最后由 freeand 于 2007-9-2 22:36 编辑 ]
作者: flw    时间: 2007-09-02 23:29
perldoc lib
作者: freeand    时间: 2007-09-02 23:58
原帖由 flw 于 2007-9-2 23:29 发表
perldoc lib


我知道有程序内部可以用unshift等方法添加,但是我想在系统级别里添加,这样所有程序都不用去改也能正常运行。
作者: freeand    时间: 2007-09-16 11:43
up
作者: apile    时间: 2007-09-17 14:22
写到/etc/profile里面试试看.....
如果有装mod_perl...可以用mod_perl的语法 Load进apache...

[ 本帖最后由 apile 于 2007-9-17 14:24 编辑 ]
作者: freeand    时间: 2007-09-18 18:09
原帖由 apile 于 2007-9-17 14:22 发表
写到/etc/profile里面试试看.....
如果有装mod_perl...可以用mod_perl的语法 Load进apache...


写到/etc/profile里面也不行。
作者: apile    时间: 2007-09-18 21:28
http://httpd.apache.org/docs/2.2/env.html
参考这一篇....应该就可以了...
作者: freeand    时间: 2007-09-19 10:38
mod_env是可以做到。
但由于精减了apache,没有这个模块。
能不能在系统上实现呢?因为不止是apache这个webserver。。。

[ 本帖最后由 freeand 于 2007-9-19 10:48 编辑 ]
作者: apile    时间: 2007-09-19 17:00
试着写进apachectl里面....
作者: freeand    时间: 2007-09-19 18:02
原帖由 apile 于 2007-9-19 17:00 发表
试着写进apachectl里面....


@INC 还是不变。。。
作者: apile    时间: 2007-09-20 14:02
不能用mod_env..
看能不能用share object方式把他加进你现有的apache...

查看有没有每个perl程序都会include 的perl 程序...
在其中加入
use lib "/net/per/lib";

要不然你就要去追踪apachectl ..看看什麽地方可以加入
export PERL5LIB=/new/perl/lib
有时候apachectl不是用bash写的..你可能要改成(sh)
PERL5LIB=xxx
export PERL5LIB
或 (csh)
setenv xxx

看有没有其他人知道怎麽改...跟LZ说一声吧..
作者: freeand    时间: 2007-09-20 15:50
谢谢 apile!

apachectl是sh写的,我在开头的地方写了

PERL5LIB=/new/perl/lib
export PERL5LIB

INC=/new/perl/lib
export INC

都不行。都没法改变原来的INC内容。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2