【发布时间】:2014-02-12 13:51:56
【问题描述】:
我正在尝试从基于 PHP 的网站中启动 perl 脚本。在那个 perl 脚本中,我使用了一个安装在非标准位置的包。因此,要使该位置上的所有软件包都可用,而无需将 perl 启动为“perl -I /path/to/packages”,或放置“lib /path/to/packages;”在我制作的每个 perl 脚本中,我将“/path/to/packages”添加到 PERL5LIB 环境系统变量中,当普通用户执行脚本时一切正常。但是,当从网站启动这个 perl-script 时,所有环境系统变量似乎都无法访问(在 perl 中用 $ENV{"PERL5LIB"} 和 $ENV{"LOGNAME"} 测试,均未初始化),导致 perl脚本崩溃,因为它在@INC 中找不到所需的包。
如何在不使用“perl -I /path/to/packages script.pl”启动每个 perl 脚本且不放置“lib /path/to/packages;”的情况下使这些 perl 包可从网站启动在每个 perl 脚本之上?
【问题讨论】:
标签: php perl webserver environment-variables