2012-06-22 13 views
5

मैं नवीनतम PHP संस्करण को ताजा मैकबुक पर काम करना चाहता था, लेकिन PHP स्थापना में डिफ़ॉल्ट रूप से इमेप फ़ंक्शन शामिल नहीं होते हैं। मुझे एक विशिष्ट फ़ंक्शन चाहिए - अर्थात् "imap_rfc822_parse_headers" फ़ंक्शन, लेकिन मुझे PHP को पुनर्निर्माण, निर्माण और स्थापित करने की तरह महसूस नहीं होता है (केवल सी-क्लाइंट और imap.so को स्थापित करने के लिए प्रयास किए जाने वाले प्रयासों का उल्लेख नहीं करना) । मुझे डर है कि संकलित प्रक्रियाएं (जिनमें से प्रत्येक जो मैंने पाया है वह कुछ अलग है) मेरी वर्तमान स्थापना को गड़बड़ कर सकता है जो कि स्थापित करने के लिए आसान नहीं था।पुनर्निर्माण और पुनर्स्थापित करने के बिना PHP में imap फ़ंक्शंस का उपयोग

क्या PHP में imap स्थापित करने का कोई और आसान तरीका है? संबंधित नोट पर, शायद मुझे आवश्यक फ़ंक्शन के लिए क्लास-आधारित विकल्प है?

उत्तर

11

मुझे अंत में समाधान मिला है। इसमें से अधिकांश यहां थे: http://www.september28.co.uk/blog/2011/11/24/php-imap-support-in-mac-os-x-lion-without-recompiling-php/

मेरी मशीन मैकोज़क्स 10.7.4, PHP 5.4 के साथ 2011 के अंत में मैकबुक प्रो है। इन निर्देशों के माध्यम से स्थापित: http://www.hirmet.com/mac-os-x-lion-upgrade-to-php-5-4

यहां दिया गया चरण-दर-चरण या समरूप सेटअप के साथ उन लोगों के लिए:

इस यूआरएल से imap स्रोत डाउनलोड, सबसे हाल ही में तारीख, जिस नहीं करता है 'के साथ एक पर ध्यान केंद्रित "Z" में टी अंत: ftp://ftp.cac.washington.edu/imap/

संग्रह से निकालें, फ़ोल्डर में जाने चलाने निम्न कमांड:

$ make osx EXTRACFLAGS="-arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" 

उपरोक्त आदेश आप पर चेतावनी का एक समूह फेंक होगा, लेकिन विपरीत सफलतापूर्वक पूरा करना चाहिए, मूल रूप से सितम्बर 28 ब्लॉग पोस्ट में आदेश दिया गया आदेश।

इसके बाद, निम्न करें:

$ sudo cp c-client/*.h /usr/local/include/ 
$ sudo cp c-client/*.c /usr/local/lib/ 
$ sudo cp c-client/c-client.a /usr/local/lib/libc-client.a 

इसके पूर्ण होते ही, डाउनलोड php स्रोत फ़ोल्डर में जाने के लिए यदि आप की तरह मैंने किया था एक कस्टम उन्नयन (उत्तर में दूसरी कड़ी के अनुसार) बना दिया है और निर्माण आपके सिस्टम के लिए imap.so एक्सटेंशन। यदि आपने कस्टम संस्करण नहीं बनाया है, तो बस आपके द्वारा स्थापित संस्करण के लिए PHP स्रोत डाउनलोड करें, और इसका उपयोग करें, इससे कोई फर्क नहीं पड़ता।

$ cd ~/Downloads/Php-5.4.4/ext/imap 
$ phpize 
$ ./configure --with-imap==/usr/local/imap-2007 --with-kerberos --with-imap-ssl 
$ make 

इसके बाद, निम्न कार्य करें:

$ sudo cp modules/imap.so /usr/lib/php/extensions/no-debug-non-zts-20100525/ 

... या यदि आपका PHP एक्सटेंशन फ़ोल्डर अलग है, डाल कि (आप phpinfo() में स्थान देख सकते हैं;)

अपाचे को पुनरारंभ करें और आपको जाने के लिए तैयार होना चाहिए।

$ sudo apachectl restart 
+0

जब मैं करने की कोशिश: बनाने OSX EXTRACFLAGS = "- मेहराब i386 -arch x86_64 जी -Os -Pipe -no-सीपीपी-precomp" मेरे ओएस एक्स माउंटेन शेर पर, मैं इस त्रुटि मिलती है: - bash: $: आदेश नहीं मिला आगे बढ़ने के लिए मुझे क्या करना चाहिए? –

+0

आपके द्वारा टाइप किए गए प्रत्येक आदेश से $ को छोड़ दें, यह केवल बैश इनपुट प्रतीक है। – Swader

+0

मुझे अपने php.ini में एक अतिरिक्त कदम करना पड़ा, मुझे मैन्युअल रूप से एक्सटेंशन जोड़ना पड़ा। $ sudo nano php.ini -> गतिशील एक्सटेंशन के लिए खोजें -> एक्सटेंशन जोड़ें = "/ usr/lib/php/एक्सटेंशन/no-debug-non-zts-20100525/imap.so" -> सहेजें और बाहर निकलें -> अपाचे को पुनरारंभ करें फिर – jolyonruss

संबंधित मुद्दे