Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python cgi奇怪的行为_Python_Cgi - Fatal编程技术网

Python cgi奇怪的行为

Python cgi奇怪的行为,python,cgi,Python,Cgi,我有一个带有html输出的简单CGI python脚本: print "Content-Type: text/html" print print hours,minutes,seconds,"," 当我从linux shell运行它时,它运行得很好,但是当从浏览器调用它时,我得到的只是一个空白页面。我以前用CRLF EOF代替LF的时候也遇到过这个问题,但我改变了它,直到最近做了一些修改,它才正常工作 我不知道当脚本在shell中正常运行时该怎么办,但从浏览器调用时却不知道该怎么办。表示服务器

我有一个带有html输出的简单CGI python脚本:

print "Content-Type: text/html"
print
print hours,minutes,seconds,","
当我从linux shell运行它时,它运行得很好,但是当从浏览器调用它时,我得到的只是一个空白页面。我以前用CRLF EOF代替LF的时候也遇到过这个问题,但我改变了它,直到最近做了一些修改,它才正常工作

我不知道当脚本在shell中正常运行时该怎么办,但从浏览器调用时却不知道该怎么办。

表示服务器出现了问题。CGI脚本中导致此错误的最常见原因是CGI脚本本身存在未捕获错误,导致其过早终止。最好检查Apache错误日志。它们通常位于
/var/log//error.log
(可以是/var/log/apache2/error.log或/var/log/httpd/error.log等)

既然您已经说过这在shell中工作得很好,我猜这是
sys.path
的一个问题(请记住,Apache是不同的用户,它会有不同的设置),但我需要了解更多才能确定

其他问题可以是:

  • 不同的Python版本(3对2)
  • 文件具有错误的权限(我相信755是标准)
  • Python中与环境相关的语法错误
表示服务器出现问题。CGI脚本中导致此错误的最常见原因是CGI脚本本身存在未捕获错误,导致其过早终止。最好检查Apache错误日志。它们通常位于
/var/log//error.log
(可以是/var/log/apache2/error.log或/var/log/httpd/error.log等)

既然您已经说过这在shell中工作得很好,我猜这是
sys.path
的一个问题(请记住,Apache是不同的用户,它会有不同的设置),但我需要了解更多才能确定

其他问题可以是:

  • 不同的Python版本(3对2)
  • 文件具有错误的权限(我相信755是标准)
  • Python中与环境相关的语法错误

仅从粘贴的代码很难分辨。请粘贴
hours
minutes
seconds
的值,并尝试用常量字符串替换该打印(即
打印“hello world”
而不是
打印小时、分钟、秒,“,”
),这无关紧要。即使我打印“你好”,我仍然会得到一张空白页。空白页的来源是:您确定服务器使用Python 2吗?如果它使用的是Python3,那么这段代码将引发一个异常。这可能是错误的原因。还要检查你的权限。仅从粘贴的代码很难判断。请粘贴
hours
minutes
seconds
的值,并尝试用常量字符串替换该打印(即
打印“hello world”
而不是
打印小时、分钟、秒,“,”
),这无关紧要。即使我打印“你好”,我仍然会得到一张空白页。空白页的来源是:您确定服务器使用Python 2吗?如果它使用的是Python3,那么这段代码将引发一个异常。这可能是错误的原因。还要检查您的权限。另外,如果错误在代码中,并且不是服务器问题,那么使用cgitb模块进行有用的回溯。但我不明白为什么。。。我正在使用UTF8编码在Notepad++中扫描文件。更改为ANSI后,一切都正常了。此外,如果错误在代码中,并且不是服务器问题,请使用cgitb模块进行有用的回溯,我发现了。但我不明白为什么。。。我正在使用UTF8编码在Notepad++中扫描文件。改成ANSI后,一切都正常了。