Apache-2.2
OSX 預設 Apache + MacPorts PHP?
如果可能的話,我想保留預設的 Apache 安裝並簡單地指示它使用使用 MacPorts 建構/安裝的不同版本的 PHP。這可能嗎(如果可以,是否有一個簡單的設置過程)?
我知道 Apache 希望我指定要載入的 PHP 模組,但我不清楚如何讓它使用不同的 PHP 安裝(如果可能的話)。我是否需要編譯一個新的 apache 模組,它會以某種方式指向我用 MacPorts 建構的 PHP 副本?任何關於我需要做什麼的澄清將不勝感激!
**更新:**啟用 FastCGI 並通過它而不是 apache 模組執行 PHP 怎麼樣?我知道這兩種方法之間存在權衡,但這有可能還是我會遇到類似的問題?
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
通過將路徑設置為預設的
apxs
.# In PHP source directory ./configure --with-apxs2=/usr/sbin/apxs
當然,(重新)編譯 PHP 可能比您希望繼承的工作更多。最簡單的方法是接受 Macport 的 Apache 安裝,並調整您的 osxserver 以
/opt/local/apache2
用作您的預設 HTTPD 服務。