I'm trying to run mod_python.publisher in apache2. All I want to do is simply print "Hello World"
When I run my program, I get a blank screen. My .py program looks like this:
def index():
print ("Hello World")
index()
However when I run the program:
def index(req):
print ("Hello World")
index()
I get this error message that says index() requires and argument and 0 is given:
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)
So based on that, I looks like my code is being compiled. I get an error from bad code, but no output on good code. Any ideas?
This ended up working for me:
#!/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>"