我正在尝试在本地计算机上运行一个简单的Web服务。在cgi-bin
文件夹的Apache24
目录中,添加了一个名为pywps.cgi
的空文件,其内容如下:
#!C:\ProgramData\Anaconda2\envs\wps_env\python.exe
import sys
sys.path.insert(0, r"C:/pywps")
import os
os.environ['PYWPS_CFG']='C:/pywps/pywps.cfg'
os.environ['MPLCONFIGDIR']='C:/ProgramData/Anaconda2/envs/wps_env/Lib/site-packages/matplotlib/mpl-data'
# Note that WPS runs as apache user and not as you, so many more user variables might be needed.
# Restart Apache after adding one.
import pywps
主index.html
文件工作正常,但是当我尝试打开http://localhost/cgi-bin/pywps.cgi
时出现错误:
内部服务器错误服务器遇到内部错误或 配置错误,无法完成您的请求。
请通过admin@example.com与服务器管理员联系以通知 他们发生此错误的时间以及您执行的操作 在此错误之前。
有关此错误的更多信息可能在服务器错误中可用 日志
我检查了错误日志,并进行了以下操作:
[Wed Sep 19 10:36:25.173859 2018] [core:notice] [pid 11404:tid 476] AH00094: Command line: 'C:\\Apache24\\bin\\httpd.exe -d C:/Apache24'
[Wed Sep 19 10:36:25.191859 2018] [mpm_winnt:notice] [pid 11404:tid 476] AH00418: Parent: Created child process 8080
[Wed Sep 19 10:36:26.134859 2018] [mpm_winnt:notice] [pid 8080:tid 416] AH00354: Child: Starting 64 worker threads.
[Wed Sep 19 10:36:27.134859 2018] [mpm_winnt:notice] [pid 1520:tid 420] AH00364: Child: All worker threads have exited.
[Wed Sep 19 10:37:03.781859 2018] [cgi:error] [pid 8080:tid 976] [client ::1:54670] End of script output before headers: pywps.cgi
我一直在寻找end of script output before headers
,但不确定是什么原因引起的。我检查并重新检查了DocumentRoot
路径以及cgi
文件中的路径,但均无济于事。有人可以帮忙吗?
编辑
我尝试在设置解释器路径后添加以下内容:
print("Content-type: text/html\n\n")
似乎可以毫无问题地运行脚本,但不会输出所需的xml
。用html
修改以上xml
会引发错误:
此页面包含以下错误:第2行第1列的错误: 文档末尾的额外内容是以下内容的呈现 页面直到第一个错误。
第2行包含上面显示的附加print
语句。