32 बिट में चलाने के लिए अपाचे HTTPD को फोर्स करें

मैं बाइनरी (पीपीसी भागों के साथ) से 32 बिट आर्किटेक्चर को अलग करके 64 बिट मोड में अपाचे HTTPD चला रहा हूं। मैंने इसे पायथन और MySQL के लिए अधिक संगत बनाने के लिए किया था।

हालांकि मेरे पास एक और मशीन है जिसे इसे 32 बिट मोड में चलाने की आवश्यकता है (इसमें अभी भी सभी चार मूल आर्किटेक्चर हैं)। क्या यह सुनिश्चित करना संभव है कि यह 32 बिट मोड में चल रहा है और इसके खिलाफ संकलित कुछ भी कहा गया मोड का उपयोग करता है।

क्या मेरे विकल्प इसे अलग करने के लिए सीमित हैं, या वहां optiosn शुरू हो गया है जो मुझे नहीं पता।

0

3 उत्तर

यह विधि अपाचे बाइनरी की प्रतिलिपि बनायेगी और यह सुनिश्चित करेगी कि apachectl (और इसलिए, सामान्य ओएस कॉन्फ़िगरेशन) 32-बिट संस्करण को ठीक से शुरू करेगा:

सबसे पहले, httpd का 32-बिट संस्करण बनाएं:

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

अंत में, अपाचे को पुनरारंभ करें:

sudo apachectl restart
0
जोड़ा

आप arch (1) कमांड को बदलने के लिए कमांड का उपयोग किया जाता है। यह इंटेल 32-बिट पहले और फिर पीपीसी 32-बिट का प्रयास करेगा:

% arch -i386 -ppc /usr/sbin/httpd
0
जोड़ा
स्टॉक अपाचे इंस्टॉल के लिए, आप लॉन्चड प्लिस्ट पर httpd से पहले अतिरिक्त तर्क भी जोड़ सकते हैं। यह /System/Library/LaunchDaemons/org.apache.httpd.plist पर स्थित है, और आप उन्हें "ProgramArguments" कुंजी के लिए सरणी के अंदर जोड़ सकते हैं।
जोड़ा लेखक Quinn Taylor, स्रोत

ध्यान दें कि ऐसा करने से अपाचे को 64 बिट साझा मॉड्यूल लोड करने से रोका जा सकता है - उदाहरण के लिए, यदि आप EntropyPHP का उपयोग कर रहे हैं, तो यह एक समस्या हो सकती है।

0
जोड़ा