gpt4 book ai didi

Perl CGI 脚本在库中找不到模块

转载 作者:行者123 更新时间:2023-12-04 20:22:31 25 4
gpt4 key购买 nike

这是我遇到的 Apache/Perl 问题。

我在我的 perl CGI 应用程序中使用 CPAN 模块。它是电子表格::ParseExcel

我已经安装了带有 tar.gz 文件的 cpan 模块。

我已经安装了依赖项。

但是,我确实是作为非 root 用户这样做的。包含这些文件的库位于用户文件夹/home/user/lib 下

现在,我已经成功地在这个盒子上配置了 Apache2。 html目录是/var/www/html,cgi文件夹是/var/www/html/cgi-bin。我已经验证它们可以工作,因为该文件夹中不需要特殊模块的所有脚本都可以在我的 firefox 浏览器中工作,即。 Hello World ,数据转储,简单的表格。

但是,当我尝试运行使用“Spreadsheet::ParseExcel”的脚本时,我收到在@INC 中找不到模块的错误。但是,我在添加库的脚本开头有一个“use lib”语句。

这些脚本可以毫无问题地在 PUTTY 中运行。只有从浏览器运行脚本时,我才会遇到问题。

此 Web 应用程序是在另一个盒子上编写的,并且在该盒子上运行良好。因为我当然在那里发展。我将 Apache2 放在我的个人 Ubuntu 机器上,并在此处安装了 Web 应用程序和模块,它可以在我的本地机器上运行。

我已将“chmod -R a+rx”设置为用户库文件夹,所以我认为 Apache 可以访问该文件夹,除非父目录的设置阻止它?我不必在/home/user 文件夹上运行它,或者更糟的是/home 文件夹,对吗?

对这个问题有任何见解吗?

谢谢大家的时间!

最佳答案

如果 Apache 用户无权访问/home/user,则即使/home/user/lib 上的权限允许它访问它,它也无法访问/home/user/lib。

例如,如果您在/root 中拥有一个文件,如果您无权访问/root,您仍然无法访问它。

关于Perl CGI 脚本在库中找不到模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4800144/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com