Saltar al contenido

Perl Apache: secuencia de comandos de Perl que se muestra como texto sin formato

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 un cgi-bin directorio en algún otro lugar donde puede tener permisos de escritura y proporcionar su ruta en alias y directory attributes en httpd.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.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *