在 OSX Lion 上将 mod_wsgi 安装到 XAMPP

Posted

技术标签:

【中文标题】在 OSX Lion 上将 mod_wsgi 安装到 XAMPP【英文标题】:Installing mod_wsgi into XAMPP on OSX Lion 【发布时间】:2012-03-03 22:28:54 【问题描述】:

我正在尝试在 OSX 10.7.2 Lion 上配置 XAMPP 1.7.3 以使用 mod_wsgi 3.3。这是我正在做的事情:

    为 OSX 1.7.3 和开发包安装了 XAMPP。目前一切运行良好。 下载并解压http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz ./configure make sudo make install 这会将编译后的 mod_wsgi.so 文件复制到 OSX apache 中,但我希望它在 XAMPP 中,所以我复制: sudo cp /usr/libexec/apache2/mod_wsgi.so /Applications/XAMPP/xamppfiles/modules/ 将模块添加到 XAMPP httpd.conf LoadModule wsgi_module modules/mod_wsgi.so

    启动 XAMPP Apache,我在 error_log 中得到以下通知:

    [notice] Apache/2.2.14 (Unix) DAV/2 mod_ssl/2.2.14 OpenSSL/0.9.8l mod_wsgi/3.3 Python/2.7.1 php/5.3.1 mod_perl/2.0.4 Perl/v5.10.1 configured -- resuming normal operations

当我访问 http://localhost 时,我得到了这个错误(通过 Chrome):

`Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.`

这个错误被打印到error_log:

 `[notice] child pid 22847 exit signal Bus error (10)`

我不知道如何解决此错误或我缺少什么。任何见解都值得赞赏!

更新

我发现了一个博客here,它讨论了通过以下命令使用 apache 扩展模块:

./configure --with-apxs=/Applications/XAMPP/xamppfiles/bin/apxs --with-python=/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7

配置看起来不错,但我得到这个编译器错误:

/Applications/XAMPP/xamppfiles/bin/apxs -c -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -DENABLE_DTRACE -DMACOSX -DNDEBUG -DNDEBUG -DENABLE_DTRACE  -Wc,'-arch i386' -Wc,'-arch ppc' mod_wsgi.c -Wl,-F/System/Library/Frameworks -framework Python -u _PyMac_Error /System/Library/Frameworks/  -arch i386 -arch ppc -ldl  -framework CoreFoundation  
Use of assignment to $[ is deprecated at /Applications/XAMPP/xamppfiles/bin/apxs line 86.
/Applications/XAMPP/xamppfiles/build/libtool --silent --mode=compile gcc -prefer-pic -I/Applications/XAMPP/xamppfiles/include -L/Applications/XAMPP/xamppfiles/lib -mmacosx-version-min=10.4 -arch i386 -arch ppc  -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp  -I/Applications/XAMPP/xamppfiles/include  -I/Applications/XAMPP/xamppfiles/include   -I/Applications/XAMPP/xamppfiles/include -I/Applications/XAMPP/xamppfiles/include -arch i386 -arch ppc -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -DENABLE_DTRACE -DMACOSX -DNDEBUG -DNDEBUG -DENABLE_DTRACE  -c -o mod_wsgi.lo mod_wsgi.c && touch mod_wsgi.slo
llvm-gcc-4.2: error trying to exec '/usr/bin/../llvm-gcc-4.2/bin/powerpc-apple-darwin11-llvm-gcc-4.2': execvp: No such file or directory
lipo: can't figure out the architecture type of: /var/tmp//cco5iCcm.out
apxs:Error: Command failed with rc=65536

【问题讨论】:

【参考方案1】:

您需要使用 --with-apxs 选项进行配置以使其使用 XAMPP 发行版中的 apxs。如果他们不提供一个以便能够编译额外的 Apache 模块,则无法使用 XAMPP 发行版。

换句话说,您需要针对您要使用的 Apache 编译 mod_wsgi,而不是不同的。

阅读说明中的 --with-apxs:

http://code.google.com/p/modwsgi/wiki/QuickInstallationGuide#Configuring_The_Source_Code

【讨论】:

谢谢格雷厄姆!我发现this 给出了一个例子:./configure --with-apxs=/Applications/XAMPP/xamppfiles/bin/apxs --with-python=/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7... 但我得到一个编译器错误。我会将文本放入编辑问题中。 如果 Python 2.7 是系统范围的默认 Python,您可能不需要 --with-python。如果不是,那么您可能已经引用了 /usr/bin/python2.7 。至于编译错误,可能与/Applications/XAMPP/xamppfiles/bin/apxs 中的第一个错误有关。询问 XAMPP 为什么他们的 apxs 失败了。

以上是关于在 OSX Lion 上将 mod_wsgi 安装到 XAMPP的主要内容,如果未能解决你的问题,请参考以下文章

在 Lion (OSX) 上安装 PyQt4 时出现问题

缺少在 Mac OSX Lion/make 上安装 Qt

pg gem 安装错误 - lion osx、bundler 和 rvm

在 OSX Lion 10.7.3 上安装 pyUSB 0.4.3

OSX 10.7 Lion 上的 JDK

gem install pg 在 OSX Lion 上不起作用