Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

228
Vistas
pymysql no se ejecuta en python cgi

Estoy usando CentOs 7 y ya instalé Apache2. Intento ejecutar un script cgi con Python 3. Tengo un archivo llamado index.py con el siguiente código:

 #!/usr/bin/env python3.7 import platform import pymysql import cgitb cgitb.enable() print ("Content-type: text/html\r\n\r\n") print ("<html>\n<body>") print ("<div style=\"width: 100%; font-size: 40px; font-weight: bold; text-align: center;\$ connection = pymysql.connect(host='127.0.0.1', user='user', password='password', db='database', charset='utf8mb4', cursorclass=pymysql.cursors.DictCursor) try: with connection.cursor() as cursor: sql = "SELECT * FROM Marken" cursor.execute(sql) rows = cursor.fetchall() for row in rows: print(row['ID'], row['markenName'], '</br>') finally: connection.close() print ("Python Script Test Page", platform.python_version()) print ("</div>\n</body>\n</html>")

lo que da un error de servidor interno 500.

Agregué las siguientes líneas a apache httpd.conf:

 <Directory "/var/www/html/cgi"> Options +ExecCGI AddHandler cgi-script .py </Directory>

e hizo que el archivo fuera accesible a través de sudo chmod 755 var/www/html/cgi/index.py

Entonces, si comento todo el código pymysql y lo pruebo en el navegador, imprime el texto esperado de la página de prueba de Python y la versión 3.7.4 de la plataforma python. Ni siquiera puedo importar pymysql ya que da un error de servidor. Con mysql.connector tuve el mismo problema. Si ejecuto el script como un script independiente con el código pymysql, funciona bien en Shell.

Configuro mi sistema como usuario no root con acceso sudo. ¿Es este el problema? y ¿hay tal vez alguna variable de entorno para establecer?

¿Qué estoy haciendo mal?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

<VirtualHost *:80> <Directory "/var/www/html/cgi"> Options +ExecCGI DirectoryIndex index.py </Directory> AddHandler cgi-script .py DocumentRoot /var/www/html/cgi </VirtualHost>

en la sección de configuración de apache, no definió el índice de directorio para el archivo python. también defina DocumentRoot para que el archivo de índice de python pueda apuntar a la ruta correcta. según la documentación que necesita para eliminar el controlador del directorio.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda