2015-12-14 11 views
6

मैंने अपनी वेबसाइट को एक नए होस्टिंग (वर्चुअल क्लाउड) पर सेट किया है, हालांकि मैं ओपेकैच देख रहा हूं और scripts का उपयोग नहीं किया जा रहा है a minutes or so को कैश से हटा दिया गया है।ओपेकैश बहुत तेज़ी से साफ़ हो जाता है

तो क्या इसे रोकने का कोई तरीका है? या यह एक सामान्य व्यवहार है?

बहुत बहुत धन्यवाद।

+0

क्या अपने php.ini में opcache सेटिंग कर रहे हैं? – Clay

+0

क्या "" opcache.max_accelerated_files "का मूल्य है? अगर आप सेट" opcache.validate_timestamps = 0 "? – Clay

+0

opcache.max_accelerated_files = 2000 –

उत्तर

0

लगता है जैसे आपको validate_timestamps=0 को php.ini में परिभाषित करने की आवश्यकता है। हालांकि इसके बारे में सावधान रहें - यदि आप अपनी PHP फ़ाइलों में कोई भी परिवर्तन अपलोड करते हैं तो आपको या तो अपाचे को पुनरारंभ करना होगा (यदि आप mod_php5 का उपयोग करते हैं) या PHP5-FPM, या मैन्युअल रूप से opcache साफ़ करें।

मैन्युअल रूप से opcache को साफ़ करने के तरीके के विवरण के लिए आपको मूल रूप से opcache_reset() के साथ एक PHP फ़ाइल बनाना है और इसे चलाने के लिए है, लेकिन यह आपकी अन्य फ़ाइलों के समान SAPI में होना चाहिए - यानी PHP5-FPM द्वारा चलाया गया है आपकी बाकी फाइलों की सेवा क्या कर रहा है। http://ihaveabackup.net/2013/10/19/invalidating-the-opcache-in-php-5-5/

2

वास्तव में इसके लिए कॉन्फ़िगरेशन है। opcache.revalidate_freq=2, डिफ़ॉल्ट मान 2 सेकंड है, opcache हर 2 सेकंड में टाइमस्टैम्प की जांच करने का प्रयास करेगा और यदि फ़ाइलें बदली जाती हैं तो यह पुन: वैध हो जाएगी। आप अपनी आवश्यकताओं से मेल खाने के लिए मूल्य बदल सकते हैं, या आप इस conf opcache.validate_timestamps=0 का उपयोग करके टाइमस्टैम्प चेक बंद कर सकते हैं, लेकिन इस मामले में प्रत्येक बार जब आप उत्पादन में कोड को तैनात करते हैं तो आपको php-fpm को पुनरारंभ करना होगा (यदि आप php-fpm का उपयोग कर रहे हैं) और वेब सर्वर

opcache.revalidate_freq=2 या किसी पूर्णांक मान

opcache.validate_timestamps=1 या opcache.validate_timestamps=0

+0

'opcache.validate_timestamps' का उपयोग' 0' करने के लिए, विकल्प 'opcache.revalidate_freq' को अनदेखा कर दिया जाएगा। –

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

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