2010-01-09 4 views
1

공유 호스팅 환경에서 CPAN (AuthCookieDBI.pm)의 Perl 모듈을 사용하려고합니다.공유 호스팅에서 Perl의 Apache2 :: ASP CPAN 모듈을 사용할 수 있습니까?

는 내가 그것을 사용하려고 해요 디렉토리에 .pm 파일을 복사했는데, 나는 AuthCookieDBI 페이지의 지침에 따라 내 .htaccess 파일을 업데이트 한,하지만 내 아파치 로그는 말한다 :

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

이 오류의 원인이되는 줄 것으로 보인다 : mod_perl가 설치되어 있지 않기 때문에이 발생하는 Apache:ASP FAQ에 따르면

PerlModule Apache2::AuthCookieDBI 

을; 공유 호스트에 있습니다 (루트 권한이 필요한 작업을 수행 할 수 없습니다). 그래서 이것에 대해 할 수있는 일이 없습니까?

답변

2

Apache2 :: AuthCookieDBI는 mod_perl이 필요합니다. 모듈은 mod_perl이 없으므로이 모듈을 사용하지 않아도됩니다.

-2

모듈을 /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; 
+1

모듈 수동 설치는 비정상적인 경우에만 수행해야합니다. – Ether

+1

우리가 공유 호스팅을 사용하고 있기 때문에 이것은 드문 상황이라고 말하고 싶습니다. 이 답변은 실제로 작동하기 때문에 투표하지 말아야합니다. –

+0

DOCUMENT_ROOT에 실행 코드를 넣는 이유는 무엇입니까?그것은 거대한 no-no이다. 파일 시스템의 탐색 할 수없는 섹션에 넣으십시오. –

0

일반적으로 cpan 도구를 사용하여 모듈을 다운로드하고 설치합니다. /usr/local/lib과 같은 표준 위치에 설치해야합니다 (@INC 디렉토리가 설정된 위치를 확인하려면 perl -V 참조). 제대로 설치되면 perl 스크립트는 mod_perl이나 apache configs에서 특별한 수정이 필요없이 perl의 표준 부분 인 것처럼 모듈을 찾을 수 있습니다. (당신은 또한 루트 권한을 필요로하지 않고 홈 디렉토리에 모듈을 설치할 수있는 CPAN 자주 묻는 질문에 포함 된 지침을..)

참조 : 방법 "에서

또한 CPAN FAQ에는 많은 정보가 있습니다.

편집 : 모든 것이 끝나면 질문에 대한 진정한 대답은 "할 수 없으며 mod_perl을 필요로하지 않는 다른 모듈을 찾아야합니다"라는 메시지가 나타납니다.

+0

서버에 'cpan'이 있지만 루트가 아닙니다. –

+1

@Nick : CPAN 권한을 설치하기 위해 루트 권한이 필요하지 않습니다. 다른 설치 디렉토리 지정에 대해서는 FAQ를 참조하십시오. 나는 또한 더 많은 참고 문헌을 추가했다. – Ether

+0

"잘못된 명령 'PerlModule'"오류가 발생했습니다. 이걸 무시해야합니까? –

2

공유 호스팅을 사용하는 경우 대부분 mod_perl을 사용하지 않을 가능성이 높습니다. 따라서이 모듈을 사용할 수 없습니다. 즉, mod_perl은 프로그래머가 아파치와 상호 작용하여 상황이 어떻게 바뀌는지를 잠재적으로 변화시키는 방법입니다. 당신이 아파치를 공유하고 있기 때문에 다른 사람들이 당신의 변화에 ​​따라 살게하는 것은 좋지 않습니다.

서버를보다 잘 제어하려면 전용 웹 서버를 설치해야합니다. 당신이하는 일은 당신의 공급자가 제공하는 것에 달려 있습니다.

+0

불행히도 전용 호스팅은 옵션이 아닙니다. (이 권한을 변경할 권한이 없습니다.)하지만 어쨌든 고마워요. –

+0

사물이 통제 할 수 없다고해서 그것이 옵션이 아니라는 것을 의미하지는 않습니다. :) –

+0

나는 내 문언의 실수를 사과한다. 내가 말했어 야했던 것은 "유감스럽게도 호스팅은 나의 특정한 상황을위한 옵션이 아니다"였습니다. –

관련 문제