如果可能的话,我想保留默认的Apache安装,并直接使用MacPorts构build/安装的不同版本的PHP。 这是可能的(如果是这样,是否有一个简单的过程来设置这个)?
我知道Apache希望我指定要加载的PHP模块,但是我不清楚如何使用不同的PHP安装(如果可能的话)。 我是否需要编译一个新的apache模块,以某种方式指向使用MacPorts构build的PHP副本? 任何澄清我需要做的将不胜感激!
更新:启用FastCGI和通过运行PHP而不是apache模块呢? 我知道这两种方法之间存在权衡,但这是否有可能,还是会遇到类似的问题?
Macports PHP libphp5.so通常与OSX默认的Apache系统不兼容。 以下是我的macosxserver上发生的情况。
# /etc/apache2/httpd.conf LoadModule php5_module /opt/local/apache2/modules/libphp5.so
尝试启动服务器
~> sudo /usr/sbin/apachectl -k start httpd: Syntax error on line 118 of /private/etc/apache2/httpd.conf: Cannot load /opt/local/apache2/modules/libphp5.so into server: dlopen(/opt/local/apache2/modules/libphp5.so, 10): Library not loaded: /opt/local/lib/libaprutil-1.0.dylib\n Referenced from: /opt/local/apache2/modules/libphp5.so\n Reason: Incompatible library version: libphp5.so requires version 5.0.0 or later, but libaprutil-1.0.dylib provides version 4.0.0
通过将path设置为默认apxs ,您可以轻松地编译PHP以使用默认的Apache安装。
# In PHP source directory ./configure --with-apxs2=/usr/sbin/apxs
当然,(重新)编译PHP可能是更多的工作,那么你希望inheritance。 简单的方法是接受Macport的Apache安装,并调整你的osxserver使用/opt/local/apache2作为默认的HTTPD服务。