我在python中有一个CGI脚本。我想知道如何使用通过GET方法接收的变量,与普通的python脚本(在本例中为文件写入设备)一起运行CGI脚本。这是代码:
window.location.href = "http://[URL]/python_scripts/get.py?first_name=mlb&last_name=406"
这是在主脚本中,get.py文件如下所示:
#!/usr/bin/python
# Import modules for CGI handling
import cgi, cgitb
# Create instance of FieldStorage
form = cgi.FieldStorage()
# Get data from fields
first_name = form.getvalue('first_name')
last_name = form.getvalue('last_name')
print "Content-type:text/html\r\n\r\n"
print "<html>"
print "<body>"
print "<h2>Hello %s %s</h2>" % (first_name, last_name)
print "</body>"
print "</html>"
f = open("/var/www/data.txt", w)
f.write("Hello from %s %s") % (first_name, last_name)
f.close()
在error.log文件中说:
[Tue Jun 23 19:07:07 2015] [error] (13)Permission denied: exec of '/var/www/python_scripts/get.py' failed
[Tue Jun 23 19:07:07 2015] [error] [client [IP]] Premature end of script headers: get.py, referer: http://[URL]/python_scripts/testScript.py
修改 脚本运行正常,没有f = open等部分,让我怀疑是一个权限错误
修改 现在解决了。我需要对函数文件,执行操作的文件和文本文件本身应用“chmod 777”权限。感谢所有帮助