Python + win10 +Apache CGI 錯誤500的解決方法
阿新 • • 發佈:2018-12-14
初始報錯:
解決方法:
①指令碼執行 ,改變.py檔案的許可權
# 進入專案目錄
# 引入os模組、
cd C:\xampp\cgi-bin\pythonEg
import os
os.chmod("hello.py",755)
②ScriptInterpreterSource Registry是對Windows登錄檔項HKEY_CLASSES_ROOT 進行搜尋來確定CGI指令碼直譯器。
但是隻適用於win32。
所以可以通過使用在指令碼中以"#!"行指定的直譯器
解決辦法:第一行改為自己python的安裝目錄。且必須佔用第一行,不然還是報錯500
#!D:\anzhuang\python\python.exe
效果圖如下:
③新建新專案,發現無需改許可權也可以開啟
有一些專案卻還是報錯:
報錯原因:專案中部分程式碼執行錯誤
例如:
#!D:\anzhuang\python\python.exe import codecs, sys sys.stdout = codecs.getwriter('utf-8')(sys.stdout.buffer) # CGI處理模組 import cgi, cgitb # 建立FeildStorage例項化 # form = cgi.FeildStorage() // 這裡報錯 cgi 打印出來為空,並沒有FeildStorage這個方法 # # 獲取資料 # site_name = form.getValue("name") # site_url =form.getValue("url") print ("Content-type:text/html") print () # 空行,告訴伺服器結束頭部 print ('<html>') print ('<head>') print ('<meta charset="utf-8">') print ('<title>菜鳥教程 CGI 測試實驗</title>') print ('</head>') print ('<body>') print ('<h2>get測試:</h2>') print ("cgi:",cgi) print ('<h3>%s官網:%s</h3>' %(site_name, site_url)) print ('</body>') print ('</html>')
解決辦法: