2009-04-06 17 views
2

mod_perl/apache ne semble pas pouvoir suivre les liens symboliques.Apache2 avec mod_perl, il ne suit pas les liens symboliques; Comment puis-je réparer cela?

Dans httpd.conf J'ai:

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> 

Si /var/www/cgi-bin/Test1 est un répertoire contenant Test.pm, il fonctionne. Si elle est un lien symbolique dans le répertoire qui contient Test.pm (/var/www/cgi-bin/test1/), il échoue:

[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 

J'ai vérifié les autorisations et ils semblent OK.

Merci pour toute aide.

Répondre

1

Simple question évidente,

Avez-vous essayé l'exécution de votre script à partir de la ligne de commande avec le symlink en place? Vous ne devriez-vous pas également ajouter au contenant?

Options +ExecCGI 

HTH

acclamations,

+0

Merci Rob. Cela a fonctionné correctement depuis la ligne de commande. Le + ExecCGI l'a corrigé. – aidan