• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
    • Questions
    • Teachers
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

162
Views
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?

almost 3 years ago · Santiago Trujillo
1 answers
Answer question

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.

almost 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error