我使用此命令从who.php执行Python脚本:
virtual('../cgi-bin/sigphon/who.py');
在Apache服务器上,但是当我转到调用命令的网页(who.php)时,会显示Python文件中的原始代码,如下所示:
\#!/usr/bin/python print '3' scriptpath = "/compsci/webdocs/morphon/web_docs/cgi-bin/sigphon" import sys, cgi, string, sha, time import cgitb sys.path.insert(0, scriptpath) import easyhtml, member, readdb, common cgitb.enable() # FieldStorage object to hold the form data formdata = cgi.FieldStorage() thisscript = "%s/who.py" % (common.cgibase) def update_text(): return """
等。 ...
我能够从同一服务器上的命令行执行who.py脚本,与who.php在同一目录中,没有任何问题,我尝试为所有人设置权限参与777的文件。
我也试过
echo exec('../cgi-bin/sigphon/who.py');
但无济于事。这里发生了什么?
答案 0 :(得分:1)
您必须配置Apache以使用python解析.py
个文件。 Apache有mod_python
或您可以将其设置为在CGI下运行。
您很可能只使用其中一个PHP Program Execution Functions
。
passthru('/path/to/python ../cgi-bin/sigphon/who.py');