我正在用Hostgator开发Linux虚拟主机。我使用的是httpd版本2.2.15。
我配置了mod_wsgi-4.4.13标记--with-python=/usr/local/bin/python2.7
和--enable-shared
。Python2.6安装在/usr/bin
中。我有一个从/usr/local/lib/python2.7/config/libpython2.7.so.1.0
到/usr/local/lib/libpython.2.7.so.1.0
的符号链接。
我的问题是,当我在python 'index.fcgi'
中运行/var/www/html
时,我会得到错误
从mod_wsgi导入get_wsgi_application ImportError: /usr/lib64 64/httpd/get_wsgi_application/mod_wsgi.so:未定义符号: apr_bucket_shared_split
我尝试过将$PYTHONHOME
设置为/usr/local
。我已经设置了$LIBRARY_LD_PATH
变量(在此之前,我根本无法获得库)。我真的不知道下一步该怎么办。请帮帮我!
谢谢。
发布于 2015-08-09 21:54:02
你有以下问题。
1- --enable-shared
不是用于mod_wsgi构建,而是用于构建mod_wsgi的configure
脚本。有关更多细节,请参见:
从内存中,Python的共享库应该已经链接到/usr/local/lib
中了。如果不是的话,Python安装就出了问题。即使安装在另一个位置,使库不在常规共享库搜索路径上,而不是将libpython.2.7.so.1.0
符号链接到适当的目录中,在从干净源代码构建mod_wsgi时将mod_wsgi环境变量设置为Python共享库所在的目录也更好。请参见:
3- .fcgi
文件与mod_wsgi没有任何关系,那么为什么首先要运行python index.fcgi
?
4-没有任何东西告诉你要把你的代码:
from mod_wsgi import get_wsgi_application
你在哪里看到你需要这么做的?为什么要加载mod_wsgi.so
呢?我不知道,因为Python不应该像那样在Apache模块目录中找到它,因为该目录不在一般的Python模块搜索路径上。
简而言之,您似乎在做您没有告诉我们的事情,而且您正在做的不是mod_wsgi文档要求您做的事情。请提供一个指向官方mod_wsgi文档中用于设置内容的部分的指针。
https://stackoverflow.com/questions/31907948
复制相似问题