在OSX Lion上将mod_wsgi安装到XAMPP中

时间:2012-02-11 23:25:54

标签: macos osx-lion xampp mod-wsgi

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

  1. 已安装适用于OSX 1.7.3的XAMPP和开发人员包。一切都运行良好。
  2. 已下载并解压缩http://modwsgi.googlecode.com/files/mod_wsgi-3.3.tar.gz
  3. ./configure
  4. make
  5. sudo make install
  6. 这会将已编译的mod_wsgi.so文件复制到OSX apache中,但我希望它在XAMPP中,所以我复制: sudo cp /usr/libexec/apache2/mod_wsgi.so /Applications/XAMPP/xamppfiles/modules/
  7. 将模块添加到XAMPP httpd.conf LoadModule wsgi_module modules/mod_wsgi.so
  8. 启动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

  9. 当我访问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 个答案:

答案 0 :(得分:1)

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

换句话说,你需要针对你想要使用的Apache编译mod_wsgi,而不是另一个。

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

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