2014-06-25 2 views
0

Je suis débutant en python. J'ai installé python34 et xampp. J'ai changé le fichier http.config et ajouté l'extension .py dans le bloc gestionnaire. Ensuite, j'ai mis mon script python dans xamp/bin-cgi et mis la première ligne du script python comme, "#! C: /Python34/python.exe". Mais quand j'ouvre le fichier via localhost/cgi-bin/test.py il ne montre rien d'autre qu'un écran vide, sous le contenu du fichier.Le script cgi python ne s'exécute pas dans XAMPP

#!C:/Python34/python.exe 

print "Content-type: text/html" 
print 
print "<html>" 
print "<head>" 
print "<title>welcome cgi</title>" 
print "</head>" 
print "<body>" 
print "<h1>first python page</h1>" 
print "<p>heihei</p>" 
print "</body>" 
print "</html>" 

Répondre

0

Vous devez réécrire la première ligne comme celui-ci:

#!"C:\Python34\python.exe" 
0

Vous utilisez Python 2.7 avec vos déclarations d'impression. C'est la première erreur. Vous appelez les interprètes Python 3.4.

En outre, vous devez changer votre première ligne à

#!/Python34/python 
# -*- coding: UTF-8 -*- 

# enable debugging 

Ensuite, modifiez vos déclarations d'impression d'avoir entre parenthèses

print("Content-type: text/html") 
print() 
print("""<html> 
     <head> 
     <title>welcome cgi</title> 
     </head> 
     <body> 
     <h1>first python page</h1> 
     <p>heihei</p> 
     </body> 
     </html>""") 

ATTENTION:

Si vous remarquez, je l'ai changé en votre code un peu et s'est débarrassé d'un tas de déclarations d'impression. Au lieu de cela, j'ai utilisé ce qu'on appelle un multiline string (au lieu d'écrire "blah" je ferais """blah"""). Par exemple, si je l'ai fait

print("asdasdasd 
     asdasdasdasdasd") 

Cela ne fonctionnerait pas

Mais, si je l'ai changé

print("""asdasdasdasdasd 
     asdasdasdasdasd""") 

Ce serait une commande parfaitement acceptable. Chaque nouvelle ligne serait enregistrée comme "\n" donc vraiment, la chaîne que nous imprimons est "asdasdasdasdasd\nasdasdasdasdasd"\n marque une nouvelle ligne

Questions connexes