我正在使用CentOs7。
我想要实现的是能够让我的Web服务器使用通过CPAN安装的软件包。
我注意到当我通过cpan安装软件包然后将它们包含在我的脚本中时,它在httpd用户下无效,但它在我的用户下工作。
要使软件包在httpd用户下工作,我需要yum install perl-package-name
。
问题是存储库缺少CPAN中找到的包的 A LOT 。
手动安装如下图所示的包具有相同的效果
# perl Makefile.PL
# make
# make test
# make install
可能的线索? - >
当我把@INC放到服务器上时我得到了
/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /etc/httpd
但是从终端跑了我得到了
/usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .
终端和服务器似乎都使用相同的版本..
当我下载并尝试安装时 - > http://search.cpan.org/~gozer/mod_perl-1.31/INSTALL 我得到了
Please tell me where I can find your apache src
[../apache_x.x/src]
当我尝试安装http://cpansearch.perl.org/src/PHRED/mod_perl-2.0.8/INSTALL时 我得到
Please provide a full path to 'apxs' executable
我应该从源代码安装httpd服务器吗?并使用--with-perl=
答案 0 :(得分:1)
我把它全部搞定了。
yum remove mod_perl
pico httpd.conf
- >脚本所在的脚本别名
或移动它们/cgi-bin/
mod_perl和yum的perl包是问题所在。删除它并修改httpd.conf后,一切正常。
注意我还从源代码安装了perl 5.20.1,这似乎解决了我使用Centos7 + CPAN时出现的很多问题。
答案 1 :(得分:0)
如果您将系统配置为使用EPEL repository,那么您将找到更多预先打包的模块。