2011-02-16 12 views
25

मैं सक्षम एपीसी कैश के साथ PHP का उपयोग कर रहा हूँ:कैसे जांचें कि एपीसी ओपोड कैश PHP में ठीक काम कर रहा है या नहीं?

apc.cache_by_default => On 
apc.enabled => On 
apc.ttl => 7200 

अब कैसे मैं जानता हूँ कि अगर यह opcode कैश उपयोग कर रहा है 100% कर सकते हैं।

<?php 
echo "Hi there"; 
?> 

अब इस फ़ाइल को चलाने के बाद, हमें echo "Bye there";

के लिए इसे बदल यह गूंज नहीं करना चाहिए "हाय वहाँ" के बाद से करते हैं:

उदाहरण के लिए, हम कहते हैं कि मैं इस PHP फ़ाइल है कि चलो 7200 सेकेंड का टीटीएल अभी खत्म नहीं हुआ है? क्या मैं सही हू? यदि हां, तो यह "अलविदा" क्यों गूंजता है? और अगर मैं गलत हूं तो फ़ाइल को बदलने के बाद भी मैं इसे ऑपोड कैश का उपयोग करने के लिए कैसे मजबूर कर सकता हूं?

उत्तर

19

मुझे नहीं लगता कि आप इसे उत्पादन में करना चाहते हैं, लेकिन आप हमेशा apc_cache_info() का उपयोग कर सकते हैं।

function is_file_cached($file) { 
    $info = apc_cache_info(); 
    foreach ($info['cache_list'] as $cache) { 
     if ($cache['filename'] == $file) return true; 
    } 
    return false; 
} 

ध्यान दें कि यह प्रत्येक फ़ाइल पर पुनरावृत्ति करेगा जो निर्दिष्ट एक के लिए कैश की जांच कर रहा है, इसलिए यह कुशल नहीं है।

और जहां तक ​​आपका विशिष्ट प्रश्न है, एपीसी स्वचालित रूप से फ़ाइल के लिए कैश को अमान्य कर देगा जब यह बदलता है। तो जब आप फ़ाइल को संपादित करते हैं, तो एपीसी चुपचाप इसका पता लगाता है और नई फाइल परोसता है। आप इसे apc.stat = 0 सेट करके अक्षम कर सकते हैं।

9

आम तौर पर एपीसी जांचता है कि अनुरोधित फ़ाइल को कैश किए जाने के बाद संशोधित किया गया है या नहीं। आप इसे apc.stat से नियंत्रित कर सकते हैं।

19

सबसे आसान तरीका है कि मैं बताने के लिए एपीसी काम कर रहा है कि क्या मिल सकता है इस कोड के साथ एक नई PHP फ़ाइल बनाने के लिए ...

<pre><?php 
print_r(apc_cache_info()); 

यह apc_cache_info() स्क्रीन करने की सामग्री उदासीनता था (हो सावधान, एक बड़ी, लाइव साइट पर यह डेटा के हो सकता है!)।

हर बार जब आप इस PHP फ़ाइल को पुनः लोड करते हैं, तो आपको num_hits वृद्धि दिखाई देनी चाहिए, जिसका अर्थ है कि ऑपोड कैश का उपयोग किया गया था। एक मिस इंगित करती है कि एपीसी को स्रोत से फ़ाइल को फिर से सम्मिलित करना था (आमतौर पर प्रत्येक परिवर्तन पर किया जाता था)।


यह जानकारी आपके apc.php फ़ाइल कि एपीसी के साथ आता है का उपयोग कर सकते करने के लिए एक अच्छा इंटरफ़ेस के लिए । मैं इस कंसोल आदेश का उपयोग कर (अपने फ़ोल्डर स्थान भिन्न हो सकते हैं) मेरी वेबसाइट निर्देशिका को यह कॉपी किया ...

cp /usr/share/doc/php-apc/apc.php /usr/share/nginx/html/apc-stats.php 

चल रहा है आपके ब्राउज़र में इस फाइल को आप अच्छा रंग और रेखांकन देता है!

अधिक जानकारी के लिए यह लिंक देखें:
http://www.electrictoolbox.com/apc-php-cache-information/

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