这是我所读到的与大多数相反的问题.我在使用Apache 2.2.8的Amazon实例上运行Ubuntu 8.04,我无法弄清楚为什么将AllowOverride设置为None for root并不会阻止我的.htaccess文件被包含在内.
我有一个带有hello.py的子目录和一个.htaccess文件.当我浏览到该文件时,它可以正常使用modpython提供文件.如果我在.htaccess中放入一些垃圾,我会收到服务器错误,所以我知道正在使用.htaccess文件.此外,如果我删除.htaccess文件,则hello.py不再是modpython服务器 - 而是浏览器尝试打开它.
在我的一个站点中(可在站点中启用链接),我对根目录有"AllowOverride None".我认为这会阻止.htaccess被包含在root及其所有子目录中,这些子目录应该导致hello.py不被mod_python服务.但是,它仍然可以正常运行,我可以测试.htaccess仍然被包含在内,因为当我修改它时,我在浏览器中看到了结果.
也许有一些我不了解我的文件在启用网站.这是我正在使用的文件:
NameVirtualHost *:8080
<VirtualHost *:8080>
<Directory />
AllowOverride None
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
可能重复:
Django未处理的异常
我随机得到500个服务器错误并尝试诊断问题.设置是:
Apache + mod_python + Django
我的500.html页面由Django提供,但我不知道导致错误的原因.我的Apache access.log和error.log文件不包含任何有价值的调试信息,除了显示请求返回500.
某处有一个mod_python或一般python错误日志(Ubuntu服务器)?
谢谢!
一切都在Django开发服务器上运行.在Apache中,除了使用matplotlib之外,django应用程序也可以工作.这是我得到的错误:
No module named multiarray.
Exception Type: ImportError
Exception Value: No module named multiarray
Exception Location: /usr/share/pyshared/numpy/core/numerictypes.py in <module>, line 81
Python Executable: /usr/bin/python
Python Version: 2.6.4
Run Code Online (Sandbox Code Playgroud)
从python shell中,两个语句都有效:import numpy.core.multiarray和import multiarray.有任何想法吗?谢谢
当我查看numpy文件时,我找到了multiarray模块,其扩展名为"so".我的猜测是,mod_python没有读取这些文件.
我最近在我的电脑上下载了python 2.7(x64),我想为它安装mod_python(我有apache 2.2),但是,我找不到支持python 2.7的mod_python版本.发展停止了吗?如果是这样,我应该使用什么呢?
我编写了一个WSGI应用程序,我需要将其部署到服务器,但是我已经获得了一个已经安装了mod_python的服务器.
我不允许删除mod_python,因为已经有一些mod_python应用程序在运行.
我考虑过的一个选项是将mod_wsgi与mod_python一起安装,但是我经历了一些消息,发现这是一个坏主意.显然mod_wsgi和mod_python混合不好.
我考虑的另一个选择是安装mod_fastcgi并使用fastcgi部署它.
我很想听听是否有人有更好的想法,这不会打破服务器上运行的当前mod_python应用程序.
我有一个django表单来获取用户名,密码.当用户发布数据时,我看到帖子字典包含以下(traceback),Traceback(最近一次调用最后一次):
File "/usr/lib/python2.4/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.4/site-packages/django/views/decorators/csrf.py", line 39, in wrapped_view
resp = view_func(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/django/views/decorators/csrf.py", line 52, in wrapped_view
return view_func(*args, **kwargs)
File "/public/gdp/trunk/src/ukl/lis/process/utils/error_handler.py", line 17, in __call__
return self.function(*args, **kwargs)
File "/usr/lib/python2.4/site-packages/django/views/decorators/cache.py", line 66, in _cache_controlled
response = viewfunc(request, *args, **kw)
File "/public/gdp/trunk/src/ukl/lis/process/authentication/views.py", line 530, in process_login
form = loginForm(request.POST)
File "/usr/lib/python2.4/site-packages/django/core/handlers/modpython.py", line 101, in _get_post
self._load_post_and_files()
File "/usr/lib/python2.4/site-packages/django/http/__init__.py", line 270, in _load_post_and_files
if self.META.get('CONTENT_TYPE', '').startswith('multipart'):
AttributeError: 'NoneType' object has …Run Code Online (Sandbox Code Playgroud) 为什么mod_python是oop而mod_php不是?
示例:我们访问www.example.com/dir1/dir2
如果你使用mod_python apache打开www/dir1.py并调用dir2方法但是如果你使用php模块apache打开www/dir1/dir2/index.php
我是python的新手.我想写一个简单的网页,在屏幕上打印客户端IP
我的http.conf处理程序:AddHandler mod_python .py PythonHandler mod_python.publisher PythonDebug On
cgi.escape(os.environ ["REMOTE_ADDR"])返回此错误:KeyError:'REMOTE_ADDR'我只是迷失了BaseHTTPRequestHandler所以获取客户端ip的简单方法是什么?谢谢.
我在Apache日志中不断收到这些错误:
[error] python_init: Python version mismatch, expected '2.6.5+', found '2.6.6'.
[error] python_init: Python executable found '/usr/bin/python'.
[error] python_init: Python path being used '/usr/lib/python2.6/:/usr/lib/python2.6/plat-linux2:/usr/lib/python2.6/lib-tk:/usr/lib/python2.6/lib-old:/usr/lib/python2.6/lib-dynload'.
[notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[notice] mod_python: using mutex_directory /tmp
Run Code Online (Sandbox Code Playgroud)
根据我的阅读,这些错误来自mod_python.我在我的Python项目中使用Flask和WSGI,所以我不知道为什么会出现这些错误.
有没有一种简单的方法可以删除mod_python? - 我尝试过a2dismod,但mod_python似乎不存在,即使我在Apache的mods-available目录中看到它.
编辑:我刚刚尝试了a2dismod python,这似乎有效.我想我非常想要禁用mod_python.我的Python应用程序看起来仍然可以正常工作.
提前致谢!
我正在尝试使用Django中的BeautifulSoup版本4(使用带有mod_python的Apache2)动态呈现HTML页面.但是,只要我将任何HTML字符串传递给BeautifulSoup构造函数(请参阅下面的代码),浏览器就会挂起等待Web服务器.我在CLI中尝试了相同的代码,它就像一个魅力.所以我猜它是与BeautifulSoups环境相关的东西,在这种情况下是Django + Apache + mod_python.
import bs4
import django.shortcuts as shortcuts
def test(request):
s = bs4.BeautifulSoup('<b>asdf</b>')
return shortcuts.render_to_response('test.html', {})
Run Code Online (Sandbox Code Playgroud)
我用pip安装了BeautifulSoup pip install beautifulsoup4.我尝试使用标准的Debian软件包安装BeautifulSoup3 apt-get install python-beautifulsoup,然后以下等效代码工作正常(来自浏览器和CLI).
from BeautifulSoup import BeautifulSoup
import django.shortcuts as shortcuts
def test(request):
s = BeautifulSoup('<b>asdf</b>')
return shortcuts.render_to_response('test.html', {})
Run Code Online (Sandbox Code Playgroud)
我查看了Apaches访问和错误日志,它们没有显示发生停顿的请求的信息.我还检查了/ var/log/syslog和/ var/log/messages,但没有进一步的信息.
这是我使用的Apache配置:
<VirtualHost *:80>
DocumentRoot /home/nandersson/src
<Directory /home/nandersson/src>
SetHandler python-program
PythonHandler django.core.handlers.modpython
SetEnv DJANGO_SETTINGS_MODULE app.settings
PythonOption django.root /home/nandersson/src
PythonDebug On
PythonPath "['/home/nandersson/src'] + sys.path"
</Directory>
<Location "/media/">
SetHandler None
</Location>
<Location "/app/poc/">
SetHandler None …Run Code Online (Sandbox Code Playgroud) mod-python ×10
python ×7
apache ×5
django ×4
apache2 ×2
mod-wsgi ×2
.htaccess ×1
django-views ×1
flask ×1
mod-fastcgi ×1
php ×1
python-2.7 ×1
webserver ×1