Je lance le serveur web Apache sur Windows afin de travailler sur certains scripts CGI Perl. en production, ces scripts fonctionnent sur une boîte Linux, et dans le référentiel de code source, ils ont tous des shebangs: #!/usr/bin/perl
, mais sur ma machine windows les shebangs sont #!c:\perl\bin\perl.exe
, donc j'ai un conflit avec la base du code source.Comment utilisez-vous la directive Apache "ScriptInterpreterSource Registry-Strict"?
entrez la directive Apache ScriptInterpreterSource.
J'ai essayé de le faire fonctionner, basé sur ce que je peux google. mais jusqu'à présent, pas de chance. J'ai:
ajouté ces choses à la directive appropriée AllowOverride None
options ExecCGI FollowSymLinks index ordre allow, deny Allow de tous ScriptInterpreterSource Registry-Strictajouté: AddHandler cgi -script .cgi
édité mon registre et ajouté une nouvelle chaîne à
HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command=C:\Perl\bin\perl.exe
, je sais que le travail sur ce serveur CGIs tant qu'ils ont le droit tralala.
mais lorsque je tente d'accéder à un CGI sans tralala le journal apache recrache:
Pas Exec CGI Verbe trouvé pour les fichiers de type 'cgi'
toute pensée, des idées, ou même des conjectures sauvages seraient appréciées.
merci.
vérifié cela fonctionne pour Apache 2.2.11 (Win32) avec mod_perl 2.0.4 et perl v5.10.0 – shufler
Ce fixe mon problème, mais je trouve que l'utilisation du commutateur '-t' peut causer des problèmes plus code (par exemple, il fait que '@ INC' ne considère pas les chemins relatifs). –
Travaux vérifiés pour Win2K3 Apache 2.2.17, ActivePerl 5.12.4 – PseudoNinja