问题
我使用OS X Yosemite和Python 2.7,尝试按照一个简单的Flask with Apache WSGI的示例,但在执行apachectl -S
时却收到此错误:
httpd: Syntax error on line 171 of /private/etc/apache2/httpd.conf: Cannot load libexec/mod_wsgi.so into server: dlopen(/usr/libexec/mod_wsgi.so, 10): image not found
我尝试过的
首先,我将文件与其他mod_*
文件一起放置在/usr/libexec/apache2/
中。其次,我尝试遵循Graham Dumpleton的回答并验证以下步骤:
1. 您没有隐藏扩展名并且已将扩展名添加两次。
gwg$ file /usr/libexec/apache2/mod_wsgi.so
/usr/libexec/apache2/mod_wsgi.so: Mach-O 64-bit bundle x86_64
2. 确保mod_wsgi.so文件对于Apache服务用户可读。
我不太确定如何实现这一点,但是我刚刚将该文件的权限与其他.so
文件进行了比较。例如:
gwg$ ls -l mod_vhost_alias.so
-rwxr-xr-x 1 root wheel 19472 Sep 9 18:11 mod_vhost_alias.so
并且
gwg$ ls -l mod_wsgi.so
-rwxr-xr-x 1 root wheel 209564 Dec 4 17:05 mod_wsgi.so
3. 确认你的Apache是32位[64位]。
I'm not sure how to do this.
4. 您的Python是32 [64]位。
根据这个SO答案:
>>> import struct
>>> print struct.calcsize("P") * 8
64
5. 确保你的Python是安装在所有用户中而不仅仅是安装它的用户中。
gwg$ sudo su -
root# python
Python 2.7.6 (default, Sep 9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
问题
需要帮助吗?谢谢您的提前预约。