PHP的virtual()命令导致原始Python代码显示在网页上而不是执行它

时间:2014-05-15 21:25:04

标签: php python virtual

我使用此命令从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');

但无济于事。这里发生了什么?

1 个答案:

答案 0 :(得分:1)

您必须配置Apache以使用python解析.py个文件。 Apache有mod_python或您可以将其设置为在CGI下运行。

您很可能只使用其中一个PHP Program Execution Functions

passthru('/path/to/python ../cgi-bin/sigphon/who.py');