![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
ochnev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Кратко:
Как заставить mod_perl считать текущей директорией ту, в которой лежит скрипт, который сейчас исполняется? Подробно: У меня на локальной машине под Windows стоит набор из Perl и Apache с включённым mod_perl (который отсюда: ftp://theoryx5.uwinnipeg.ca/pub/other/). Я попробовал задействовать mod_perl н алокальном сайте. Сделал как в этой инструкции: http://library.mnwhost.ru/webdev/perl/mod_perl.php --- фрагмент инструкции - начало --- Для этого мы изменяем httpd.conf: # Это мы закомментируем #### ScriptAlias /cgi-bin/ "/home/my-project.ru/cgi-bin/" # А это добавим PerlModule Apache::Registry <Location /cgi-bin> SetHandler perl-script PerlHandler Apache::Registry Options ExecCGI allow from all </Location> --- фрагмент инструкции - конец --- В результате CGI-скрипты стало невозможно исполнять: получаю error 403. Раскомментирую строчку (несмотря на инструкцию): ScriptAlias /cgi-bin/ "/home/my-project.ru/cgi-bin/" (путь, естественно, другой) Уже лучше: error 500. В логах пишется: --- log - start --- [Mon Nov 06 23:11:21 2006] [error] Can't locate DBOperations.pm in @INC (@INC contains: c:/perl_dev/Perl/lib c:/perl_dev/Perl/site/lib . c:/perl_dev/apache/ c:/perl_dev/apache/lib/perl) at c:/perl_dev/apache/cgi-bin/rp/section.pl line 8. BEGIN failed--compilation aborted at c:/perl_dev/apache/cgi-bin/rp/section.pl line 8. --- log - start --- Без mod_perl всё работает. То есть mod_perl как-то меняет текущую директорию, и поэтому не находит мой модуль, лежащий в одной директории со скриптом. То есть текущей директорией оказывается не та директория, в которой лежит скрипт, который сейчас исполняется. Это подтверждается ещё и тем, что скрипт не может открыть файл с шаблоном страницы, который находится с ним в одной директории. Как заставить mod_perl считать текущей директорией ту, в которой лежит скрипт, который сейчас исполняется? |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 1 Всего: 50 |
||||
|
||||
ochnev |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 253 Регистрация: 27.3.2006 Репутация: нет Всего: нет |
Это не вариант. Это не решит проблему доступа к файлами из скриптов. У меня там во многих местах процесс завязан на текущей директории и относительных путях. |
|||
|
||||
JUmPER |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 196 Регистрация: 22.8.2006 Репутация: нет Всего: 3 |
тогда содержать абсолютный путь к корню скриптов в файле конфига,
путь, относительно корня в самих скраптах и юзать их вместе в результате придётся менять только в одном месте PS: правда вместо use придётся использовать require --------------------
Существует 10 типов людей: те, которые понимают двоичную систему, и те, которые ее не понимаютСуществует 10 типов людей: те, кто понимают троичную систему, те, кто ее не понимают и те, кто путает ее с двоичной |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl: CGI программирование" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |