我正在编写一个web应用程序,它将使用HTML来显示表单。然后用户完成表单,在提交时将表单发送到PHP。在PHP文件中,我设置了对Python文件调用和exec()命令,该文件将返回数据。但由于某些原因我什么也得不到。当我在终端中执行命令时,它工作得很好,但是我们在web浏览器中没有响应。在
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>
菲律宾比索:
^{pr2}$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不熟悉,但这正是老板想要的。。。所以我要把它做好。谢谢!在
根据这个http://www.php.net/manual/en/function.passthru.php,您使用passthrough的方式是错误的。它是用于二进制数据的。。。在
尝试Exec()。在
希望我能帮上忙。在
请确保您没有被safe mode阻止。在
确保你逃避你的论点。尝试:
如果问题仍然存在,您可以通过确保错误报告处于打开状态来进一步调查,方法是将以下内容放在PHP脚本的顶部:
^{pr2}$我不知道它为什么不起作用,但您应该使用EscapeShellArgs和可能的EscapeShellCmd。在
这将保护您不受任何不可靠的用户输入的影响,而且它们通常有助于确保exec实际正常工作。在
另外,将传递给'Exec'的字符串放入一个变量中,并回送该变量,然后将精确的输出剪切粘贴到shell中,这通常有助于找出问题所在。在
相关问题 更多 >
编程相关推荐