【发布时间】:2012-03-10 23:08:55
【问题描述】:
我正在编写一个使用 HTML 来显示表单的网络应用程序。然后用户完成表单,并在提交时将表单发送到 PHP。在 PHP 文件中,我将其设置为调用和 exec() 命令到将返回数据的 Python 文件。但由于某种原因,我没有得到任何回报。当我在终端中执行命令时效果很好,但是我们在网络浏览器中没有响应。
HTML:
<form id ="nameForm" action="python.php" method="post" target="_blank">
<label>First Name:</label><input type="text" id="firstName" name="firstName"><br>
<label>Last Name:</label><input type="text" id="lastName" name="lastName"><br>
<input type="submit" id="submitName" value="Submit">
</form>
PHP:
$firstName = $_REQUEST['firstName'];
$lastName = $_REQUEST['lastName'];
exec("/opt/http/PythonWeb/web/python pythonName.py " . $firstName . " " . $lastName, $response);
echo $response;
Python:
import sys
def main():
firstName = sys.argv[1]
lastName = sys.argv[2]
output = ""
output += "<html>\n"
output += " <head><title></title></head>\n"
output += " <body>\n"
output += " <p>Hi " + firstName + " " + lastName + "</p>\n"
output += " </body>\n"
output += "</html>\n"
print output
if __name__ == '__main__': main()
请就可能出现的问题给我一些建议。我是 Python 新手,但这是老板想要的……所以我要完成这项工作。谢谢!
【问题讨论】:
-
为此目的混合 PHP 和 Python 对我来说似乎有点愚蠢。我建议要么用 Python 编写你的应用程序,要么用 PHP 编写它,但不能两者兼而有之。
-
你确定你的服务器允许
passthru吗?如果是这样,当您使用更常见的内置命令之一尝试它时会发生什么?你得到输出了吗?也尝试把error_reporting(-1);
标签: php python html command exec