1. 程式人生 > >windows+phpstudy(apache) 以cgi方式支援python

windows+phpstudy(apache) 以cgi方式支援python

筆者用的是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檔案,來確定問題。

mark

參考連結

--------------------- 本文來自 晴晨ldl 的CSDN 部落格 ,全文地址請點選:https://blog.csdn.net/qingchenldl/article/details/79598712?utm_source=copy