2015-03-21 4 views
26

मैं निम्नलिखित संकुल के साथ एक वेब सर्वर चला रहा हूँ; php-एपीसी 3.1.7-1 PHP5-एफ पी एम 5.3.10-1ubuntu3.10एपीसी, एपीसीयू और ओपेकैच के बीच अंतर?

हालांकि, मैं Ubuntu 14.04 पर एक नया सर्वर बनाया गया है और लगता है कि php-एपीसी अब उपलब्ध नहीं है है।

इसलिए, एपीसी मेरी बड़ी यातायात के लिए lifeserver (100 k/दैनिक अनन्य विज़िट)

मैं थोड़ा सा पीएचपी पर कैशिंग प्रणाली के बारे में उलझन में हूँ था। php-एपीसी 4.0.2-2build1 PHP5-apcu 4.0.2-2build1 PHP5-एफ पी एम 5.5.9 + dfsg-1ubuntu4.7

phpinfo() मुझे देता है "एपीसी: नए सर्वर इन पैकेज शामिल हैं "नकली के रूप में। जहां तक ​​मैं समझता हूं, एपीसी को एपीसीयू के साथ बदल दिया गया है।

https://github.com/cepa/kickasscache मैं अपने कैशिंग के लिए यह मुफ्त कक्षा चला रहा हूं, यह वास्तव में मेरे मामले में सीपीयू/मेम के बहुत से बचाता है। लेकिन मैं समझ नहीं पा रहा हूं कि यह एपीसीयू के साथ समान होगा?

यदि नहीं, तो मैं उचित कैशिंग कैसे स्थापित कर सकता हूं? क्योंकि मेरे नए सर्वर के पास सीमित संसाधन हैं और मुझे समाधान की आवश्यकता है।

php -v रिटर्न

PHP 5.5.9-1ubuntu4.7 (cli) (built: Mar 16 2015 20:47:39) 
Copyright (c) 1997-2014 The PHP Group 
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies 
    with Zend OPcache v7.0.3, Copyright (c) 1999-2014, by Zend Technologies 

यह OPcache डिफ़ॉल्ट रूप से सक्षम करने का मतलब है?

+1

एपीसीयू पुराने एपीसी का उपयोगकर्ताडाटा घटक है, बिना बाइटकोड कैशिंग के, क्योंकि ओपेकैच अब PHP के लिए मानक बाइटकोड कैशिंग है, लेकिन उपयोगकर्ता डेटा कैशिंग –

+0

@MarkBaker जानकारी के लिए धन्यवाद प्रदान नहीं करता है। पुरानी एपीसी कार्यक्षमता पर वापस जाने का कोई तरीका है? मैं अपने ओएस, पीएचपी और अन्य पैकेज दोनों को डाउनग्रेड करने के बारे में सोच रहा हूं। – martyr

+0

यदि आप 5.5 से नीचे PHP डाउनग्रेड करते हैं, तो आप ओपेकैच खो देंगे और एपीसी को अपने बाइटकोड कैश के रूप में फिर से उपयोग करने में सक्षम होंगे –

उत्तर

9

PHP 5.5 और बाद में एपीसी (या इसी प्रकार के बाइटकोड कैशिंग एक्सटेंशन जैसे एक्सकैच) की आवश्यकता नहीं है। पीएचपी डेवलपर्स ने सीधे उत्पाद के मूल में OPCache को कॉल करने के लिए एकीकृत किया। न केवल यह अधिक समग्र उत्पाद स्थिरता प्रदान करता है, यह आधिकारिक तौर पर PHP डेवलपर्स द्वारा समर्थित है।

यदि आपको एपीसी से विशिष्ट सुविधा की आवश्यकता है जो OPCache (उदा। एपीसीयू कार्यक्षमता) में नहीं है, तो आपको php-dev मेलिंग सूची पर चर्चा शुरू करनी चाहिए।

अंत में, अंगूठे का एक अच्छा नियम केवल PHP के संस्करणों को चलाने के लिए है जो php.net मुखपृष्ठ पर सूचीबद्ध हैं। जबकि डिस्ट्रोज़ आमतौर पर सुरक्षा सुधारों का समर्थन करेंगे, PHP के नए संस्करणों में अधिक उपयोगी विशेषताएं होंगी। PHP के नए संस्करणों में आम तौर पर महत्वपूर्ण प्रदर्शन लाभ होते हैं जो आपको एपीसीयू जैसे अतिरिक्त पीईसीएल एक्सटेंशन की आवश्यकता को बाईपास करने की अनुमति दे सकते हैं।

+0

क्या मैं एक स्रोत के लिए पूछ सकता हूं? http://php.net/manual/en/book.opcache।php का कहना है कि यह PHP 5.5+ के साथ बंडल किया गया है लेकिन PHP/5.6 के अपने नए इंस्टॉलेशन पर '/ etc/php5/cli/php.ini' और'/etc/php5/apache2/php.ini' की सामग्री का कहना है कि यह अक्षम है डिफ़ॉल्ट ('; opcache.enable = 0')। –

+0

कि उस प्रविष्टि की शुरुआत में अर्ध-कॉलन इंगित करता है कि प्रश्न में पंक्ति पर टिप्पणी की गई है, इसलिए आपके PHP इंस्टॉल पर IMHO, opcache * सक्षम है। यदि सेमी-कोलन वहां नहीं थे, तो वास्तव में, अक्षम किया जाएगा, तो आप अच्छे हैं। –

+0

यदि आप एपीसी की डेटा-स्टोरेज क्षमताओं का उपयोग कर रहे हैं तो आप 'php-apcu-bc' इंस्टॉल कर सकते हैं, यह एपीसीयू का उपयोग करके संगतता कार्यों को स्थापित करता है। – Ariel

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