1. 程式人生 > >Python + win10 +Apache CGI 錯誤500的解決方法

Python + win10 +Apache CGI 錯誤500的解決方法

初始報錯:

 

解決方法:

①指令碼執行 ,改變.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>')

解決辦法: