python脚本不会被执行

时间:2015-11-09 13:32:47

标签: python apache cgi

我有以下脚本

#!/usr/bin/python

import os
import cgi
import sys



def header():

  header = """
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <html>
    <body bgcolor="#B7B7B7">
    """
  print header

def footer():
  footer = """
    </body>
    </html>
    """


def main():
  try:
    header()
    footer()
  except:
    print "<!-- --><hr><h1>Oops. An error occured.</h1>"
    cgi.print_exception()

main()

从另一个脚本调用此脚本 - 问题是无效。浏览器只是简单地将整个代码写为HTML标记旁边的纯文本:

#!/usr/bin/python 
import os 
import cgi 
import sys 

def header(): 
    header = """ """ 
    print header 

def footer(): 
    footer = """ """ 

def main(): 
    try: 
        header() 
        footer() 
    except: 
        print "Oops. An error occured." 
        cgi.print_exception() 

main() 

我检查了apache错误日志,没有任何关于它。

我尝试了chmod 777,仍然是相同的

这就是我的config.py的样子:

<Directory "{1}">
AddHandler cgi-script .cgi
Options -Indexes FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all

Python版本是2.7

你知道如何运行这个脚本吗?非常感谢!

2 个答案:

答案 0 :(得分:0)

你期望从运行这个脚本(我同意ergonaut)得到什么输出并不清楚你是如何做到的。

独立运行脚本,它可以工作,但它没有任何自然输出......所以可能它正在工作,但你没有办法验证。

答案 1 :(得分:0)

只有其他建议正在调用python模块和breakpointing以查看它从ide(例如eclipse)失败的位置。同时捕获日志记录错误可能会有所帮助,但我认为您已尝试过这两种方法。

相关问题