Erzwingen Sie Apache HTTPD zum Ausführen in 32bit
-
06-07-2019 - |
Frage
Ich habe Apache HTTPD im 64 -Bit -Modus ausgeführt, indem ich die 32 -Bit -Architektur aus der Binärdatei (zusammen mit den PPC -Teilen) ausziehe. Ich habe dies getan, um es für Python und MySQL kompatibler zu machen.
Ich habe jedoch eine andere Maschine, die im 32 -Bit -Modus ausgeführt werden muss (es enthält noch alle vier ursprünglichen Architekturen). Ist es möglich, sicherzustellen, dass es im 32 -Bit -Modus ausgeführt wird und dass alles, was dagegen zusammengestellt wurde, diesen Modus verwendet.
Lösung
Du kannst den ... benutzen arch(1)
Befehl zur Änderung der Architektur wird verwendet. Dies wird Intel 32-Bit zuerst und dann PPC 32-Bit versuchen:
% arch -i386 -ppc /usr/sbin/httpd
Andere Tipps
Diese Methode erstellt eine Kopie des Apache-Binärs und stellt sicher, dass Apachektl (und daher die normale Betriebssystemkonfiguration) die 32-Bit-Version ordnungsgemäß startet:
Erstellen Sie zunächst die 32-Bit-Version von HTTPD:
sudo lipo -thin i386 /usr/sbin/httpd -output /usr/sbin/httpd.i386
Bearbeiten Sie zweitens die Systemkonfiguration, damit die neue Version anstelle der Standardeinstellung verwendet wird. Ändern Sie "/usr/sbin/httpd" in "/usr/sbin/httpd.i386":
sudo vi /System/Library/LaunchDaemons/org.apache.httpd.plist
Zuletzt starten Sie Apache neu:
sudo apachectl restart
Beachten Sie, dass Apache das Laden von 64 -Bit -Shared -Modulen verhindert. Wenn Sie beispielsweise EntropyPHP verwenden, kann dies ein Problem sein.