Apache-2.2

OSX 預設 Apache + MacPorts PHP?

  • November 6, 2012

如果可能的話,我想保留預設的 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 服務。

引用自:https://serverfault.com/questions/445735