CGI Perl Scripts Cannot Find Modules in Library

This is the Apache / Perl problem that I have.

I am using the CPAN module in my CGI perl application. This is Spreadsheet :: ParseExcel

I installed the cpan module with tar.gz files.

I installed the dependencies.

However, I did this as a non-root user. The library containing these files is located under the user folder, / home / user / lib

Now I have successfully configured Apache2 in this field. The html directory is / var / www / html, and the cgi folder is / var / www / html / cgi-bin. I confirmed that they work because all the scripts in this folder that do not require special modules work in my Firefox browser. hello world, data dumps, simple forms.

However, when I try to run scripts using "Spreadsheet :: ParseExcel", I get an error that the module could not be found in @INC. However, I have a "use lib" statement at the beginning of the script that adds the library.

Scripts can run in PUTTY without any problems. Only when I run the script from the browser do I get the problem.

This web application was written in another field and works great in this field. Because I developed there, of course. I put Apache2 on my personal Ubuntu machine and installed the web application and modules here and it works in my local field.

"chmod -R a + rx" , , Apache , ? /home/user , , /home, ?

?

!

+5
2

Apache /home/user/lib, /home/user, /home/user/lib .

, /root, , /root.

+3

:

  • @INC, , , use lib?
  • , Apache, ? , . , , o r-x .
+1

All Articles