CGI på windows med XAMPP

  • Författare
  • Meddelande
Användarvisningsbild

mos

dbwebb

  • Inlägg: 11023
  • Blev medlem: 10 nov 2011, 09:52
  • Ort: Ronneby / Bankeryd

CGI på windows med XAMPP

Inlägg12 jan 2017, 17:07

Jag la till ett exempelprogram i kursrepot som hjälper dig komma igång med CGI-skript på Windows.

CGI är redan enablat på XAMPP Windows, så det handlar mest om att installera Python direkt i Windows, och lägga till rätt sökväg till den Python-exekverbara i shebangen.

Enklast möjliga CGI-skript finns i kursrepot (tillsammans med stegen jag gjorde för att komma igång):
https://github.com/dbwebb-se/oopython/t ... gi/windows

Sen installerade jag Flask (i Windows-python):
Kod: Markera allt
python -m pip install Flask


Därefter gick det även att köra CGI med Flask och exemplet ligger i kursrepot.
https://github.com/dbwebb-se/oopython/b ... l/appw.cgi
...
..:
.... /mos
Användarvisningsbild

Allinrep

dbwebb

  • Inlägg: 1124
  • Blev medlem: 03 sep 2012, 09:19
  • Ort: Portugal (tillfälligt)

Re: CGI på windows med XAMPP

Inlägg31 jan 2017, 11:35

Tänk också på att shebangen i Windows inte kommer fungera på studentservern som kör Linux. Eller som mos sa på Gitter:
mos skrev:se till att ha en appw.cgi för windows och en app.cgi för resten/studservern/linux.
Användarvisningsbild

Hambergaren

troubleshooter

  • Inlägg: 154
  • Blev medlem: 06 aug 2014, 18:05
  • Ort: Hjo

Re: CGI på windows med XAMPP

Inlägg02 jun 2017, 11:30

Jag försöker få min XAMPP Apache server att köra CGI script lokalt på min Mac.

Jag har installerat apache och jag har skapat en mapp som jag döpt till "Webserver". I den mappen har jag 2 filer, en "app.py" och en "app.cgi".

Webservern kan köra html och php filer utan problem så den fungerar och öppnar jag app.py i servern så får jag upp källkoden i webbläsaren istället.

Men om jag startar "localhost/app.cgi" så får jag följande felmeddelande:

Kod: Markera allt
Serverfel!

Servern råkade ut för ett internt fel och det var inte möjligt att slutföra din begäran.

Felmeddelande:
End of script output before headers: app.cgi

Om du tror att detta beror på ett serverfel, vänligen kontakta webbansvarig.

Error 500

localhost
Apache/2.4.25 (Unix) OpenSSL/1.0.2j PHP/7.1.4 mod_perl/2.0.8-dev Perl/v5.16.3





Mina filer ser ut så här:

app.cgi

Kod: Markera allt
#!/usr/local/bin/python3
# -*- coding: UTF-8 -*-

"""
Smallest possible cgi-script to execute a WSGI application like Flask.
"""

from wsgiref.handlers import CGIHandler
from app import app

CGIHandler().run(app)



app.py

Kod: Markera allt
#!/usr/local/bin/python3
"""
My first Flask app
"""
# Importera relevanta moduler
from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def main():
    """ Main route """
    return "Heeej!"

"""@app.route("/about")
def about():
    """ """ Main route """ """
    return render_template("about.html")"""

if __name__ == "__main__":
    app.run()


Är det något jag har missat att ändra med webservern? Jag har inte ändrat något i https.conf och jag har mac så cgi script kanske inte enablat från början?

Ska tillägga att det fungerar när jag kör med pythons egna server. :)

mvh
Mikael
Hälsningar

Mikael Hamberg
Användarvisningsbild

Allinrep

dbwebb

  • Inlägg: 1124
  • Blev medlem: 03 sep 2012, 09:19
  • Ort: Portugal (tillfälligt)

Re: CGI på windows med XAMPP

Inlägg02 jun 2017, 23:22

En väg framåt kan vara att försöka få fram bättre felmeddelanden. I tråden Vanliga problem med Flask och debugging av Flask CGI står det hur man ordnar debugging.

Vilka är online

Användare som besöker denna kategori: Inga registrerade användare och 21 gäster