2009-04-06 14 views
2

mod_perl/apache, похоже, не может следовать символическим ссылкам.Apache2 с mod_perl, он не соответствует символическим ссылкам; Как я могу это исправить?

В httpd.conf у меня есть:

Options FollowSymLinks 
<VirtualHost *> 
     ServerName cas.devserver.com 
     ServerAlias cas.devserver.com 
     ServerAdmin [email protected] 
     DocumentRoot /var/www/htdocs/abc/def 
     PerlSwitches -I/var/www/cgi-bin 
     PerlSendHeader On 
     <Location /> 
       Options FollowSymLinks 
       PerlSendHeader On 
       PerlHandler Test1::Test 
       SetHandler perl-script 
       Order deny,allow 
       Allow from all 
     </Location> 
</VirtualHost> 

Если /var/www/cgi-bin/Test1 это каталог, содержащий Test.pm, то он работает. Если это символическая ссылка на каталог, который содержит Test.pm (/var/www/cgi-bin/test1/), то он терпит неудачу:

[error] [client xxx.xxx.xxx.xxx] failed to resolve handler `Test1::Test': 
     Can't locate Test1/Test.pm in @INC 
     (@INC contains: /var/www/cgi-bin/ <snip> /usr/lib/perl5/5.8.8 . /etc/httpd) 
     at (eval 9) line 3.\n 

Я проверил разрешение, и они, кажется, в порядке.

Спасибо за любую помощь.

ответ

1

Простого очевидный вопрос,

Вы пробовали работает ваш CGI скрипт из командной строки с линком на месте?

Разве вы также не добавляете в контейнер?

Options +ExecCGI 

НТН

веселит,

+0

Благодаря Rob. Он отлично работал из командной строки. + ExecCGI исправил это. – aidan