强制Apache HTTPD以32位运行

时间:2008-11-04 13:42:27

标签: apache macos osx-leopard

我通过从二进制文件(以及ppc部分)中删除32位架构,一直在64位模式下运行Apache HTTPD。我这样做是为了使它与python和mysql更兼容。

但是我有另一台机器需要它以32位模式运行(它仍然有四个原始架构)。是否可以确保它以32位模式运行,并且针对它编译的任何内容都使用所述模式。

我的选择是否仅限于剥离它,或者是否有我不了解的启动选择。

3 个答案:

答案 0 :(得分:3)

您可以使用arch(1)命令更改使用的架构。这将首先尝试Intel 32位,然后尝试32位PPC:

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

答案 1 :(得分: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

答案 2 :(得分:0)

请注意,这样做会阻止apache加载任何64位共享模块 - 例如,如果您使用的是EntropyPHP,这可能是个问题。