windows+phpstudy(apache) 以cgi方式支援python
阿新 • • 發佈:2018-12-12
筆者用的是phpstudy(Apache)+ windos ,一開始不理解Apache各個配置的含義(網上很多配置文章都沒提到),導致配置老是出錯,特總結一下。
Apache配置
在httpd.conf中查詢DocumentRoot:
允許目錄可以執行cgi:
# 查詢一下自己的DocumentRoot DocumentRoot "E:\Environment\phpstudy\PHPTutorial\WWW" <Directory /> AllowOverride All Options +ExecCGI Order allow,deny Allow from all #Require all granted </Directory> #讓apache識別py檔案為cgi程式: AddHandler cgi-script .cgi .py
只允許在特別目錄下執行cgi程式:
ScriptAlias /cgi-bin/ "D:/Program/phpStudy/Apache/cgi-bin/"
以上就配置完成了apache。
測試
下面開始寫個例子程式:
#!C:\軟體\Python\python.exe print ("Content-type:text/html") print () # 空行,告訴伺服器結束頭部 print ('<html>') print ('<head>') print ('<meta charset="utf-8">') print ('<title>Hello World</title>') print ('</head>') print ('<body>') print ('<h2>Hello World! - 我的第一個 CGI 程式!</h2>') print ('</body>') print ('</html>')
寫cgi程式注意
第一:#!前面不能有空格,後面緊跟解釋程式(python.exe的路徑);
第二,python等解釋程式的目錄是否正確;
第三,作為http協議的要求,一定要輸出http headers;
第四,在存在http headers的前提下,一定要在headers後面列印一個空行,否則伺服器會報錯;
第五,把錯誤的程式在python的idle中執行一下,驗證正確性;
最後,實在搞不定的情況下,百度 + 檢視apache的logs資料夾下的error.log檔案,來確定問題。
參考連結
--------------------- 本文來自 晴晨ldl 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qingchenldl/article/details/79598712?utm_source=copy