Je suis python en cours d'exécution -m HTTPServer sous Macintosh OS X.Comment trouver l'emplacement du fichier de configuration httpd.conf contrôlant le comportement du module httpserver 2.7 de python.
Voici le code Python 2.7 mise en œuvre du HTTPServer:
import CGIHTTPServer
import BaseHTTPServer
class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
cgi_directories = ["/cgi"]
PORT = 9999
httpd = BaseHTTPServer.HTTPServer(("", PORT), Handler)
print "serving at port", PORT
httpd.serve_forever()
Quand je tape dans le navigateur Web http://localhost:9999/adder.html, je veux savoir l'emplacement du fichier de configuration httpd.conf contrôlant le comportement du module httpserver 2.7 de python.
Il existe également un processus apache24 httpd démon exécuté simultanément. Je suppose qu'ils utilisent tous deux des fichiers httpd.conf différents dans des endroits différents. Le fichier httpd.conf correspondant au processus apache24 httpd démon est gelé en root readpermission que je ne peux pas modifier pour rendre le script cgi python 2.7 exécutable sous les auspices du module cgi comme indiqué ci-dessous dans l'extrait de cette URL, Python script does not run through CGI on Apache2 parce que les spécialistes des technologies de l'information de l'Université Lesley ont bloqué des utilisateurs comme moi de l'exécution de la commande du système d'exploitation sous le nom de sudo.
Sans le cgi_module, le code même qui est chmod + x ne sera pas exécutable, cette ligne décommenter:
LoadModule cgi_module libexec/apache2/mod_cgi.so
Et changer votre répertoire pour ressembler à ceci (le mien fonctionne comme ça):
AllowOverride None Permettre de tous Exiger que tous les options accordées ExecCGI AddHandler script cgi .py
Sans cette modification du fichier httpd.conf responsable, je reçois le texte suivant un message absurde:
adder.cgi d'ouverture, vous avez choisi d'ouvrir adder.gui qui est un fichier binaire (5.0KB) de httpd: //localhost.9999. Voudriez-vous sauvegarder ce fichier? Annuler ou Enregistrer
au lieu de voir adder.cgi lancer un processus enfant.
Je fais l'hypothèse que le module httpserver 2.7 de python peut référencer un httpd.conf non-par défaut dans le sous-répertoire par rapport au répertoire de travail courant.
S'il vous plaît laissez-moi savoir si vous avez besoin de plus de données de moi. Merci d'avoir regardé cette question.
https://stackoverflow.com/questions/17618084/python-cgihttpserver-default-directories –
Je vais tester ces astuces utiles ce matin et rendre compte de mes découvertes. https://stackoverflow.com/questions/17618084/python-cgihttpserver-default-directories, https://docs.python.org/2/library/cgihttpserver.html et http: // tasdikrahman.me/2015/10/20/Exécution-CGI-Scripts-with-CGIHTTPServer/ –