我通过从二进制文件(以及ppc部分)中删除32位架构,一直在64位模式下运行Apache HTTPD。我这样做是为了使它与python和mysql更兼容。
但是我有另一台机器需要它以32位模式运行(它仍然有四个原始架构)。是否可以确保它以32位模式运行,并且针对它编译的任何内容都使用所述模式。
我的选择是否仅限于剥离它,或者是否有我不了解的启动选择。
答案 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,这可能是个问题。