Сценарии Perl CGI не могут найти модули в библиотеке

Это проблема Apache / Perl, которая возникла у меня.

Я использую модуль CPAN в своем приложении Perl CGI. Это Spreadsheet :: ParseExcel

. Я установил модуль cpan с файлами tar.gz.

Я установил зависимости.

Однако я сделал это как пользователь без полномочий root.Библиотека, содержащая эти файлы, находится в папке пользователя / home / user / lib

. Теперь я успешно настроил Apache2 на этом компьютере. Каталог html - это / var / www / html, а папка cgi - / var / www / html / cgi-bin. Я проверил, что они работают, потому что все сценарии в этой папке, не требующие специальных модулей, работают в моем браузере Firefox, т.е. привет мир, свалки данных, простые формы.

Однако, когда я пытаюсь запустить сценарии, использующие «Spreadsheet :: ParseExcel», я получаю сообщение об ошибке, что модуль не может быть найден в @INC. Однако у меня есть инструкция «use lib» в начале скрипта, который добавляет библиотеку.

Скрипты можно без проблем запускать в PUTTY. Проблема возникает только при запуске сценария из браузера.

Это веб-приложение было написано для другого компьютера и отлично работает на нем. Потому что я, конечно, там развился. Я установил Apache2 на свой персональный компьютер с Ubuntu, установил здесь веб-приложение и модули, и он работает на моем локальном компьютере.

Я установил "chmod -R a + rx" для папки пользовательской библиотеки, поэтому я думаю, что Apache имеет доступ к папке, если настройки родительского каталога не блокируют его? Мне не нужно запускать это в папке / home / user или, что еще хуже, в папке / home, не так ли?

Любое понимание проблемы?

Спасибо всем за ваше время!

5
задан bleutyler 25 January 2011 в 23:46
поделиться