2010-12-09 6 views
17

मैं विकल्प और एक सिस्टम पर "स्थापना" पीएचपी पुस्तकालयों से संबंधित शब्दावली (लिनक्स/OSX)समझौता पीएचपी पुस्तकालय स्थापना

यहाँ कुछ विशिष्ट बिंदुओं मैं कवर करने के लिए कोशिश कर रहा हूँ कर रहे हैं समझने के लिए कोशिश कर रहा हूँ:

  1. PHP पुस्तकालयों से संबंधित होने पर "इंस्टॉल" का क्या अर्थ है?
  2. पुस्तकालयों और एक्सटेंशन के बीच क्या अंतर है?
  3. php.ini कैसे फिट करता है?
  4. पीयर कैसे फिट बैठता है?
  5. आप पुस्तकालयों को आयात/शामिल कैसे करते हैं?
  6. यदि मैं अपनी खुद की लाइब्रेरी बनाता हूं, तो इसे पैकेज करने और वितरित करने का सबसे अच्छा तरीका क्या है?

धन्यवाद और बहु-भाग के लिए खेद है ...

+1

इनमें से कुछ php दस्तावेज़ीकरण में सही हैं: [php.ini] (http://www.php.net/manual/en/configuration.file.php), [पीईसीएल/पीएआरआर] (http: // www.php.net/manual/en/install.pecl.intro.php)। – eykanal

उत्तर

4

सभी सीधे पीएचपी से संबंधित:

  1. आमतौर पर बस कॉपी और यकीन है कि कुछ, इसका इस्तेमाल करना चाहता है कि बनाने के लिए, जानता है, जहां यह है।
  2. आमतौर पर एक एक्सटेंशन सी में लिखा जाता है और दुभाषिया द्वारा लोड किया जाता है, जबकि लाइब्रेरी आमतौर पर मूल PHP लाइब्रेरी का अर्थ है।
  3. पता नहीं, आप यहां क्या जानना चाहते हैं। आईएनआई एक्सटेंशन लोड करता है और कुछ सेटिंग्स सेट अप करता है। यह सीधे स्थापनाओं से जुड़ा नहीं है .... आप यहां अपना शामिल-पथ (या कुछ) सेट अप कर सकते हैं।
  4. आप इसके साथ पुस्तकालय स्थापित कर सकते हैं;) या तो नहीं जानते, आप क्या जानना चाहते हैं।
  5. आमतौर पर require(_once) या include(_once)। कक्षाओं के लिए आप एक ऑटोलोडर सेट कर सकते हैं। PHP मैनुअल का संदर्भ लें।
  6. पैकेज/पुरालेख (ज़िप, जीजे, टैरबॉल, ..) और यह एक डाउनलोड लिंक बनाते हैं? इसके अलावा: पता नहीं, आप क्या चाहते हैं।

यदि आप PHP पुस्तकालय लिखना चाहते हैं और पीयर पर नजर रखने के बजाय पैकेजिंग और वितरण के लिए एक आसान तरीका चाहते हैं।

+0

धन्यवाद, लेकिन क्या आप प्रकाश डाल सकते हैं कि क्यों पियर सिर्फ "पैकेज .. और एक डाउनलोड लिंक" से आसान होगा? – Yarin

+1

नाशपाती के साथ स्थापना दो पंक्तियां हैं: 'नाशपाती चैनल- mychannel.example.com' और' नाशपाती mychannel.example.com/MyPackage 'स्थापित करें। यदि आपके पास कोई चैनल-सर्वर नहीं है (पियरफार्म के लिए google;)), तो आप सीए डाउनलोड करने योग्य पैकेज भी प्रदान करते हैं। इंस्टॉलेशन की तुलना में 'नाशपाती इंस्टॉल MyPackage-x.y.z.tgz' (x.y.z पैकेज फ़ाइल के संस्करण पर निर्भर करता है) की तरह कुछ है। पैकेज बनाने के लिए आपको 'package.xml' ("pear package.xml";) के लिए Google लिखना होगा), लेकिन जब यह अस्तित्व में है, तो यह एक नया पैकेज बनाने के लिए केवल एक छोटा' नाशपाती पैकेज 'है, जिसे आप अपलोड कर सकते हैं आपका होस्ट, या चैनल-सर्वर। – KingCrunch

13

एक जोड़े को अंक ...

पीएचपी अजगर, जावा, या .net जैसे, कोई मूल "आयात" बुनियादी सुविधाओं है। PHP में पुस्तकालयों का उपयोग कई तरीकों से किया जा सकता है।

  1. उन्हें PHP बाइनरी में संकलित करें। यह सबसे उन्नत तरीका है, और आमतौर पर वांछनीय नहीं है जब तक कि आपके पास बहुत विशेष आवश्यकता न हो।

  2. उन्हें सर्वर पर PHP मॉड्यूल के रूप में स्थापित करें, और उन्हें PHP.ini में शामिल करें। PHP प्रोग्रामर के दृष्टिकोण से, ये एक्सटेंशन PHP का हिस्सा हैं - हमेशा उपलब्ध हैं। PHP को पुनर्निर्माण किए बिना उन्हें जोड़ना और निकालना आसान है।

  3. कहीं भी सर्वर पर PHP कोड स्थापित करें, और इसे अपनी PHP स्क्रिप्ट में शामिल करें।

  4. अपनी प्रोजेक्ट में लाइब्रेरी की एक प्रति सहेजें, और इसे अपनी PHP स्क्रिप्ट में शामिल करें।

-
एक बुनियादी स्तर पर, कोड दुभाषिया (स्थिर या गतिशील) के दोनों हिस्सा है, या यह सादे पुराने PHP कोड है कि शामिल हैं() अपने प्रोजेक्ट में एड है।

अपने उद्देश्यों के लिए, मैं केवल सुझाव दे सकता हूं कि आप एक उद्योग मानक PHP वितरण (एक अच्छा लिनक्स ओएस चुनें, और इसका PHP का उपयोग करें) के साथ चिपके रहें। फिर दुभाषिया स्तर पर आपको आवश्यक सभी पुस्तकालयों को एड-ऑन पैकेज के रूप में उपलब्ध कराया जाता है, और इसकी जटिलता उन लोगों को छोड़ दी जाती है जो इसे हर दिन करते हैं।

RedHat/CentOS पर, आप चला सकता है:

yum install php php-memcached php-gd php-pecl

-
पुस्तकालयों के अन्य सभी प्रकार है कि आप उपयोग कर सकते हैं के बारे में, यह सबसे अधिक संभावना एक अच्छा PHP ढांचे को अपनाने के लिए सबसे अच्छा है जो आपके लिए यह सब कुछ ख्याल रखता है।

कुछ उदाहरण हैं:

  1. Zend फ्रेमवर्क
  2. CakePHP
  3. Codeigniter
  4. http://www.phpframeworks.com/
  5. आदि ...

(नहीं किसी भी क्रम में, केवल वे जो दिमाग में आया)

बशर्ते आपने RPM का उपयोग करने के लिए मानक दृष्टिकोण लिया है या PHP और एक्सटेंशन के पहलुओं में संकलित प्रबंधन के समान है, तो एक अच्छा ठोस ढांचा आपके सभी आवश्यक PHP लाइब्रेरी कोड को शामिल करने का ख्याल रखेगा।

अंतिम परिणाम क्या है, यह है कि आप एक उत्पाद वितरित करने पर ध्यान केंद्रित करते हैं, न कि सभी बुनियादी ढांचे पर जो आपको अन्यथा सीखना और आविष्कार करना है।

-
php.ini पार्स और चलाने जब पीएचपी (Apache में कमांड लाइन के लिए हर बार, एक बार सर्वर प्रारंभ करने पर) शुरू होता है है। यह कई सेटिंग्स को परिभाषित करता है, इसमें बहुत सारे मॉड्यूल शामिल हैं, उन मॉड्यूल को कॉन्फ़िगर करते हैं, आदि ...

आप PHP में ini_set() फ़ंक्शन के साथ php.ini में कुछ सेटिंग्स को वास्तव में ओवरराइड कर सकते हैं। हालांकि, यह कुछ सेटिंग्स के लिए केवल प्रभावी है। दूसरों को आपकी स्क्रिप्ट शुरू होने से पहले सेट करने की आवश्यकता है।

अपाचे के तहत चलते समय, आप .htaccess और <VirtualHost> निर्देशों को जोड़ सकते हैं जो उस निर्देशिका/वर्चुअल होस्ट के लिए PHP.ini को पूरी तरह ओवरराइड करते हैं।

(मेरे वाक्य रचना में सुधार करें और इस नोट को दूर करता है, तो यह गलत है कृपया)

<VirtualHost *> 
    ServerName www.example.com  
    DocumentRoot /home/joe/site/docroot 
    php_value include_path "/home/joe/site/php-code" 
</VirtualHost> 

-
अपने खुद के पुस्तकालय और सबसे अच्छा तरीका यह पैकेज करने के बारे में अपने # 6 प्रश्न के उत्तर में, मेरा सुझाव है आप पहले लाइब्रेरी की आवश्यकता का मूल्यांकन करते हैं। और यदि आप वास्तव में कुछ पर हैं, तो लोगों को यह करने का सबसे आम तरीका पता लगाएं। यदि यह एक साधारण पुस्तकालय है, तो एक अच्छी वेबसाइट के साथ एक .php फ़ाइल पर्याप्त होगी।

-
शायद थोड़ा सा जुआ, लेकिन मुझे आशा है कि यह आपको सही दिशा में इंगित करे।

+0

बहुत उपयोगी- धन्यवाद – Yarin