加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Perl CGI Scripts在库中找不到模块

发布时间:2020-12-15 21:45:05 所属栏目:大数据 来源:网络整理
导读:这是我遇到的Apache / Perl问题. 我在perl CGI应用程序中使用CPAN模块.它是Spreadsheet :: ParseExcel 我已经用tar.gz文件安装了cpan模块. 我已经安装了依赖项. 但是,我确实以非root用户身份执行了此操作.包含这些文件的库位于用户文件夹/ home / user / lib
这是我遇到的Apache / Perl问题.

我在perl CGI应用程序中使用CPAN模块.它是Spreadsheet :: ParseExcel

我已经用tar.gz文件安装了cpan模块.

我已经安装了依赖项.

但是,我确实以非root用户身份执行了此操作.包含这些文件的库位于用户文件夹/ home / user / lib下

现在,我已在此框中成功配置了Apache2. html目录是/ var / www / html,cgi文件夹是/ var / www / html / cgi-bin.我已经验证它们有效,因为该文件夹中不需要特殊模块的所有脚本都可以在我的firefox浏览器中运行,即.你好世界,数据转储,简单形式.

但是,当我尝试运行使用“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,则仍无法访问该文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读