Si encuentras alguna incompatibilidad con tu código o proyecto, recuerda probar siempre en un entorno de testing antes aplicar el código al trabajo final.
Solución:
Cuando el navegador está imprimiendo el código de la secuencia de comandos, significa que no puede encontrar la aplicación para ejecutar la secuencia de comandos. Debajo de dos líneas deberían ser sus primeros pasos para resolver esto. AddHandler se asegurará de que los archivos que terminan con .cgi
y .pl
ser tratados como scripts cgi. Y +ExecCGI
La opción permitirá ejecutar el script. También asegúrese de que su secuencia de comandos apunte a la ubicación binaria perl correcta.
AddHandler cgi-script .cgi .pl Options FollowSymLinks +ExecCGI
También hay algunos errores/puntos de configuración incorrecta en su httpd.conf
- La línea de alias debe apuntar a cgi-bin directorio donde están presentes sus scripts cgi.
ScriptAlias /cgi-bin/ “D:servidor webcgi-bin”
- Para el mismo directorio cgi-bin, la siguiente configuración debe estar en
httpd.conf
. Debes reemplazar tu
Parte con abajo.
AddHandler cgi-script .cgi .pl Options FollowSymLinks +ExecCGI AllowOverride None
- Intente ejecutar su script cgi desde la línea de comando como se muestra a continuación. Primero debe imprimirse o ejecutarse desde la línea de comando.
perl prueba.cgi
- Asegúrese de tener permisos recursivos de lectura y escritura para
cgi-bin
directorio y su script cgi. Y también puede crear un directorio o archivo con permisos de escritura. Si no crea uncgi-bin
directorio en algún otro lugar donde puede tener permisos de escritura y proporcionar su ruta enalias
ydirectory
attributes enhttpd.conf
en cambio. - Verifique el registro de errores de apache para ver el mensaje de error exacto cada vez que se encuentre con problemas de configuración de apache. Le dará una buena idea del problema.
También este enlace debería ayudarte.
(Comentario adicional, no por el respondedor original: Es posible que también deba habilitar el cgi
módulo. Para mí, el paso final para lograr que cgi funcione en una instalación nueva de Apache 2 fue sudo a2enmod cgi
. Antes de hacer eso, el sitio web simplemente me mostró el contenido del guión).
sudo a2enmod cgi
El directorio/ubicación/archivo no tiene el controlador correcto asociado, o no tiene el ExecCGI
opción habilitada. Consulte Tutorial de Apache: contenido dinámico con CGI.
cambiar la nueva versión de apache: Opciones +FollowSymLinks +ExecCGI
valoraciones y comentarios
Si guardas alguna suspicacia o capacidad de ascender nuestro noticia puedes realizar una crítica y con placer lo observaremos.