Могу ли я использовать Perache Apache2 :: ASP CPAN модуль на виртуальном хостинге? - PullRequest
1 голос
/ 09 января 2010

Я пытаюсь использовать модуль Perl из CPAN (точнее, AuthCookieDBI.pm ) в среде общего хостинга.

Я попытался скопировать файл .pm в каталог, с которым я пытаюсь его использовать, и я обновил свой файл .htaccess в соответствии с инструкциями на странице AuthCookieDBI, но мой журнал Apache говорит:

Invalid command 'PerlModule', perhaps misspelled or defined by a module not 
included in the server configuration

Эта строка вызывает ошибку:

PerlModule Apache2::AuthCookieDBI

Согласно Apache: ASP FAQ это вызвано тем, что mod_perl не установлен; Я на общедоступном хостинге (и поэтому не могу делать ничего, что требует прав суперпользователя), так что я ничего не могу с этим поделать?

Ответы [ 4 ]

2 голосов
/ 09 января 2010

Если вы используете виртуальный хостинг, вы, скорее всего, не используете mod_perl. Таким образом, вы не можете использовать этот модуль. Короче говоря, mod_perl - это способ для программистов взаимодействовать с apache, потенциально изменяя то, как все происходит. Поскольку вы делитесь apache, нехорошо заставлять других людей жить с вашими изменениями.

Если вы хотите больше контроля над вашим сервером, вам нужно получить выделенный веб-сервер. Как вы это сделаете, зависит от того, что предлагает ваш провайдер.

2 голосов
/ 09 января 2010

Apache2 :: AuthCookieDBI требует mod_perl, поэтому модуль без него вам бесполезен.

0 голосов
/ 09 января 2010

Обычно вы используете инструмент cpan для загрузки и установки модуля для вас. Он должен быть установлен в стандартном месте, например, под /usr/local/lib (см. perl -V, чтобы узнать, где находится каталог @INC). Когда он правильно установлен, ваши сценарии perl смогут найти модуль так же, как если бы он был стандартной частью perl, без каких-либо специальных изменений, необходимых в конфигурациях mod_perl или apache. (Вы также можете установить модули в свой домашний каталог, не требуя разрешения root. Инструкции по этому содержатся в FAQ CPAN.)

См:

Кроме того, FAQ по CPAN содержит много информации.

Редактировать: после всего может показаться, что истинный ответ на ваш вопрос: «Вы не можете; вам нужно найти другой модуль, чтобы делать то, что вам нужно, для которого не требуется mod_perl».

0 голосов
/ 09 января 2010

Просто установите распакованный модуль в /path/lib/, ниже приведен код, необходимый для включения этого модуля.


#!/usr/bin/perl -w
use diagnostics;
use warnings;
use lib "$ENV{DOCUMENT_ROOT}/path/lib/";
unshift @INC , "$ENV{DOCUMENT_ROOT}/path/lib/";
use modulename;
...