mod_python返回一个空白屏幕

时间:2017-03-15 16:50:43

标签: python apache2 mod-python

我试图在apache2中运行mod_python.publisher。我想做的只是打印" Hello World"

当我运行程序时,我得到一个空白屏幕。 我的.py程序看起来像这样:

def index():
    print ("Hello World")
index() 

然而,当我运行程序时:

def index(req):
    print ("Hello World")
index()

我收到这条错误消息,指出index()需要和参数,并给出0:

MOD_PYTHON ERROR

ProcessId:      23348
Interpreter:    'test.com'

ServerName:     'test.com'
DocumentRoot:   '/var/www'

URI:            '/modPythonTest.py'
Location:       None
Directory:      '/var/www/'
Filename:       '/var/www/modPythonTest.py'
PathInfo:       ''

Phase:          'PythonHandler'
Handler:        'mod_python.publisher'

Traceback (most recent call last):

  File "/usr/lib/python2.7/dist-packages/mod_python/importer.py", line 1537,                    in HandlerDispatch
    default=default_handler, arg=req, silent=hlist.silent)

  File "/usr/lib/python2.7/dist-packages/mod_python/importer.py", line 1229,     in _process_target
    result = _execute_target(config, req, object, arg)

  File "/usr/lib/python2.7/dist-packages/mod_python/importer.py", line 1128,     in _execute_target
    result = object(arg)

  File "/usr/lib/python2.7/dist-packages/mod_python/publisher.py", line 204,     in handler
    module = page_cache[req]

  File "/usr/lib/python2.7/dist-packages/mod_python/importer.py", line 1059,     in __getitem__
    return import_module(req.filename)

  File "/usr/lib/python2.7/dist-packages/mod_python/importer.py", line 296,     in import_module
    log, import_path)

  File "/usr/lib/python2.7/dist-packages/mod_python/importer.py", line 680,     in import_module
    execfile(file, module.__dict__)

  File "/var/www/modPythonTest.py", line 5, in <module>
    index()

    TypeError: index() takes exactly 1 argument (0 given)

基于此,我看起来正在编译我的代码。我从错误的代码中得到错误,但在良好代码上没有输出。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这最终为我工作:

#!/usr/bin/python
from mod_python import apache

def index(req):
    out = "<html><head>"
    out = out+"<meta http-equiv='content-type' content='text/html'></head>"
    out = out+"<body>Hello World</body></html>"