योसेमाइट में अपग्रेड करने के बाद अपाचे की समस्या


8

Yosemite में अपग्रेड करने के बाद मेरा मैक वेब सर्वर काम नहीं करेगा। जब मैं apachectlटर्मिनल में टाइप करता हूं , तो मुझे यह मिलता है:

httpd: Syntax error on line 527 of /private/etc/apache2/httpd.conf: Syntax error on line 8 of /private/etc/apache2/other/+php-osx.conf: Cannot load /usr/local/php5/libphp5.so into server: dlopen(/usr/local/php5/libphp5.so, 10): Symbol not found: _unixd_config\n  Referenced from: /usr/local/php5/libphp5.so\n  Expected in: /usr/sbin/httpd\n in /usr/local/php5/libphp5.so

यदि मैं टाइप करता हूं तो sudo apachectl [re]startकुछ नहीं होता है, जैसे कि यह शुरू हो गया है और मैं इसे फिर से टाइप करता हूं, यह कहता है कि यह पहले से ही चल रहा है। इसके अलावा, मेरे पास वेब शेयरिंग वरीयता फलक स्थापित है ( http://clickontyler.com/web-sharing/ ) और जब मैं स्विच को ऑन से फ्लिक करता हूं, तब भी यह कहता है कि भले ही स्विच ऑन स्थिति पर है। ।

आप लोगों को क्या फाइलें चाहिए / देखने की जरूरत है? वास्तव में इस ASAP को ठीक करने की आवश्यकता है।

जवाबों:


6

कृपया यह भी ध्यान दें कि Yosemite संस्थापक नई डिफ़ॉल्ट Apache 2.4 कॉन्फ़िगरेशन फ़ाइल के साथ संपूर्ण /pStreet/etc/apache2/httpd.conf फ़ाइल को ओवरराइट करता है।

उदाहरण के लिए, यदि कोई Listenनिर्देश जोड़ा गया था, तो वे गायब हो गए होंगे और उन्हें फिर से जोड़ने की आवश्यकता होगी। उदाहरण के लिए:

Listen 127.0.0.1:81

मुझे निम्न फ़ाइल में मेरा पुराना कॉन्फ़िगरेशन मिला, लेकिन 2.2 के अंतर के कारण, इसे शायद http.conf फ़ाइल पर सीधे कॉपी नहीं किया जाना चाहिए:

/private/etc/apache2/httpd.conf~previous

इस पर एक उन्नयन गाइड है: http://httpd.apache.org/docs/2.4/upmission.html

सुनिश्चित करें कि किसी भी पहले शामिल अतिरिक्त कॉन्फ़िगरेशन फ़ाइलों को अभी भी शामिल किया गया है, और फिर कमांड के साथ कॉन्फ़िगरेशन का परीक्षण करें:

sudo apachectl configtest

कैसे इस सवाल का जवाब देता है? आपको अपाचे को अपग्रेड करने के बाद जो php मॉड्यूल आप लोड कर रहे हैं, उसे बदलना नहीं चाहिए ...
AlxVallejo

8

समस्या तब होती है क्योंकि Yosemite Apache (2.4) के नवीनतम संस्करण को स्थापित करता है जबकि Mac OS X के पुराने संस्करणों में Apache संस्करण 2.2 का उपयोग किया गया था

त्रुटि से, ऐसा प्रतीत होता है कि आप Apple द्वारा प्रदान किए गए PHP के मानक संस्करण का उपयोग नहीं कर रहे थे, लेकिन एक अलग संस्करण जो कि liip.ch द्वारा दिया गया था। ऊपर दिए गए Nuttyx द्वारा सुझाए गए # चिह्न को हटाने से php (5.5.14) का Apple संस्करण लोड हो जाएगा। यदि आप लीप द्वारा आपूर्ति किए गए संस्करण को जारी रखना चाहते हैं, तो आपको इसे पुनः स्थापित करने की आवश्यकता होगी ताकि यह अपाचे 2.4 में ठीक से लोड हो जाए। यहां एक विस्तृत विवरण देखें: ( http://blog.liip.ch/archive/2014/06/11/php-osx-available-for-os-x-10-10-yosemite.html )

NB यदि आप वर्चुअल होस्ट का उपयोग कर रहे हैं, तो आपको संभवतः अपनी कॉन्फ़िगरेशन फ़ाइलों को कुछ हद तक बदलना होगा। विशेष रूप से आपको निम्नलिखित को बदलने की आवश्यकता होगी:

2.2 विन्यास:

Order allow,deny
Allow from all

2.4 कॉन्फ़िगरेशन:

Require all granted

4

ऐसा लगता है कि आप इसे ठीक कर सकते दूर करने# में निम्नलिखित लाइन की शुरुआत में /etc/apache2/httpd.confफ़ाइल:

LoadModule php5_module libexec/apache2/libphp5.so

1
यह मेरे लिए यह किया है!
मैथ्यू रीगलर

1

तर्कों के बिना 'sudo apachectl' को चलाना फाइलों में समस्या को दर्शाता है। मेरे मामले में उन्नयन php ने इसे ठीक किया।

curl -s http://php-osx.liip.ch/install.sh | bash -s 5.6

उसके बाद, अपाचे फिर से चलता है लेकिन मुझे vhosts को फिर से कॉन्फ़िगर करना पड़ा।


0

जबकि उपरोक्त प्रश्न का उत्तर दिया गया है, एक ही त्रुटि की एक और संभावना है जैसे:

/private/etc/apache2/httpd.conf: Cannot load /usr/libexec/apache2/mod_XYZ.so into server: dlopen(/usr/libexec/apache2/mod_XYZ.so, 10): image not found

ऐसा हो सकता है यदि आपने एक प्रतीकात्मक लिंक बनाया है जो ऊपर दिए गए नाम से संदर्भित है और यह नहीं मिला है। वास्तविक फ़ाइल के लिए निरपेक्ष पथ प्रदान करने के लिए एक सिम्बोलिक लिंक बनाने के लिए और सिम्लिंक फ़ाइल नाम के लिए समान प्रदान किया जा रहा है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.