2008-11-04 68 views
2

我一直在64位模式下運行Apache HTTPD,通過從二進制文件中除去32位體系結構(以及ppc部分)。我這樣做是爲了使它更適合python和mysql。強制Apache HTTPD在32位運行

但是,我有另一臺機器需要它在32位模式下運行(它仍然有四個原始架構)。是否有可能確保它在32位模式下運行,並且針對它編譯的任何內容都使用上述模式。

我的選擇僅限於剝離它,還是有啓動optiosn,我不知道。

回答

3

您可以使用arch(1)命令更改使用的架構。這將嘗試英特爾32位先PPC 32位:

% arch -i386 -ppc /usr/sbin/httpd 
+0

對於股票Apache的安裝,你可以添加額外的httpd之前的參數也發送到了plist。它位於`/ System/Library/LaunchDaemons/org.apache.httpd.plist`中,您可以將它們添加到「ProgramArguments」鍵的數組中。 – 2010-12-03 18:00:48

0

注意,這樣做將阻止加載任何64位共享的模塊阿帕奇 - 如果你正在使用EntropyPHP,例如,這可能是一個問題。

3

這種方法將使Apache二進制文件的副本,並確保的apachectl(因此,正常OS配置)將正常啓動的32位版本:

首先,創建的32位版本的httpd :

sudo lipo -thin i386 /usr/sbin/httpd -output /usr/sbin/httpd.i386 

其次,編輯系統配置,以便它使用新版本而不是默認值。更改 「/ usr/sbin目錄/的httpd」 到 「/usr/sbin/httpd.i386」:

sudo vi /System/Library/LaunchDaemons/org.apache.httpd.plist 

最後,重新啓動Apache:

sudo apachectl restart 
相關問題