在 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的主要内容,如果未能解决你的问题,请参考以下文章
pg gem 安装错误 - lion osx、bundler 和 rvm