ejecuto el servidor web Apache en Windows para poder trabajar en algunas secuencias de comandos Perl CGI. en producción estos scripts se ejecutan en un linux box, y en el repositorio de código fuente todos tienen shebangs como: #!/usr/bin/perl
, pero en mi máquina de Windows los shebangs serían #!c:\perl\bin\perl.exe
, así que tengo un conflicto con la base del código fuente.¿Cómo se usa la directiva Apache "ScriptInterpreterSource Registry-Strict"?
ingrese la directiva Apache ScriptInterpreterSource.
He estado tratando de hacerlo funcionar, según lo que puedo googlear. pero hasta ahora sin suerte. tengo:
añaden estas cosas a la directiva apropiada AllowOverride None
Opciones Índices FollowSymLinks ExecCGI Orden allow, deny Dejar de todas las ScriptInterpreterSource Registro-Estrictoañadido: cgi AddHandler -script .cgi
edité mi registro y agregué un nuevo String al
HKEY_CLASSES_ROOT\.cgi\Shell\ExecCGI\Command=C:\Perl\bin\perl.exe
Ahora, sé que el trabajo de CGI en este servidor, siempre y cuando tengan el tinglado derecha.
pero cuando intento acceder a un CGI sin tinglado el registro de Apache escupe:
Sin Exec CGI verbo encontrado para archivos de tipo '.cgi'
cualquier pensamiento, ideas, o incluso conjeturas salvajes serían apreciadas.
gracias.
verificado esto funciona para Apache 2.2.11 (Win32) con mod_perl 2.0.4 y v5.10.0 Perl – shufler
Esto fija mi problema, pero, he encontrado que el uso de la 'interruptor T' puede causar problemas con mayor código (por ejemplo, hace que '@ INC' no tenga en cuenta las rutas relativas). –
Obras verificadas para Win2K3 Apache 2.2.17, ActivePerl 5.12.4 – PseudoNinja