MAMP में PHP 5.5.3 के लिए कैशिंग रोकें


123

PHP 5.5.3 के साथ एक नए मैकबुक पर MAMP इंस्टॉल किया गया।

रीलोड और रिफ्रेश कुछ नहीं करते। अब तक कुछ भी नहीं। Google कुछ मिनटों के लिए यह पता लगाने की कोशिश कर रहा है कि क्या गलत है, वापस आओ और ताज़ा करें। यह काम करता हैं। क्या बिल्ली है?

मैं php.ini में गया और सभी नए ओपचे को निष्क्रिय कर दिया और बिना कैशिंग को बाध्य करने के लिए दस्तावेज़ में डिफ़ॉल्ट कैश समय 0. जोड़ा हेडर पर सेट किया। अभी भी वही समस्या है। यहाँ क्या हो रहा है?

नेटवर्क टैब एक HTTP 200 अनुरोध दिखा रहा है, इसलिए किसी भी नए HTML में index.php फ़ाइल ठीक प्रदान करता है, लेकिन सर्वर द्वारा प्रदान किए जाने वाले नए PHP में देरी होती है और तब तक इसका प्रतिपादन नहीं किया जाता है जब तक कि कुछ पूर्व निर्धारित समय बीत नहीं जाता है कि मुझे नहीं पता कि कैसे बदलने के लिए। क्या चल रहा है?

मैंने इसे सफारी में भी चेक किया है, इसलिए यह निश्चित रूप से एक सर्वर चीज है जो फ़ाइल को रेंडर करने से रोक रही है।

दिलचस्प तथ्य हालांकि, अगर मैं MAMP में जाता हूं और PHP संस्करण को पुराने एक (PHP 5.2 या कुछ) में बदल देता हूं, तो यह सामान्य रूप से प्रस्तुत करेगा, जिसमें कोई "कैशिंग मुद्दे" नहीं हैं। PHP 5.5 पर स्विच करें और यह लटका हुआ है। MAMP प्राथमिकताओं में 5.5 के लिए कैशिंग विकल्प मौजूद नहीं हैं और स्वचालित रूप से अक्षम हैं।


4
मुझे पता है कि यह आपकी समस्या का हल नहीं है, लेकिन मैं व्यक्तिगत रूप से MAMP का बहुत बड़ा प्रशंसक नहीं हूं, खासकर जब कस्टम स्टैक स्थापित करना इतना आसान नहीं है - होमब्रे का उपयोग करके स्टैक स्थापित करने के लिए यहां एक बहुत ही तेज़ गाइड है: github .com / josegonzalez / homebrew-php
mewm

@ मेवम मुझे एहसास नहीं था कि यह इतना आसान हो सकता है। चीयर्स! इसका उपयोग केवल कुछ कीस्ट्रोक्स में नग्नेक्स के साथ होने के लिए किया जाता है। learnaholic.me/2012/10/10/…
willdanceforfun

जवाबों:


207

OPCache अक्षम करें

MAMP अब डिफ़ॉल्ट रूप से OPCache पर मुड़ता है, आप इसे अपने php.ini फ़ाइल को संपादित करके अक्षम कर सकते हैं। सुनिश्चित करें कि आपने सही php.ini संपादित किया है।

मैं खुद उसी समस्या में चल रहा था। PHP संस्करण के साथ MAMP 5.5.3 डिफ़ॉल्ट रूप से OPcache चलाता है, लेकिन आप इसे GUI में बंद नहीं कर सकते हैं जैसे कि आप पुराने PHP संस्करण 5.2.17 के साथ कर सकते हैं। आपको php.ini फ़ाइल (MAMP / bin / php / [version] /conf/php.ini) के अंत में सभी OPcache लाइनों को मैन्युअल रूप से कमेंट करना होगा और बदलावों के लिए सर्वर को रोकना और शुरू करना सुनिश्चित करें प्रभाव।

मैंने URI को अपडेट किया, परिवर्तन भी / फ़ोल्डर के तहत / conf / बदलकर प्रतिबिंबित हो सकते हैं, लेकिन ऐसा लगता है कि एमएमपी पुनरारंभ होने के बाद इन पर ध्यान नहीं देगा


4
मैं एक ही मुद्दा था और इसे opcache लाइनों बाहर टिप्पणी द्वारा तय की। यह एक तरह से हैरान करने वाला है कि आपको इसे बदलने के लिए php.ini फ़ाइल में जाना होगा। यह वास्तव में काफी भ्रामक है, क्योंकि ऐसा लगता है कि आपके पास MAMP-> वरीयता ड्रॉप-डाउन बॉक्स में दिए गए सभी कैशिंग विकल्प होंगे।
जेरेडएच

17
मैं सोच रहा हूं कि उनके शरीर का कौन सा हिस्सा MAMP निर्माता इस "शांत सुविधा" को जोड़ते हुए सोचने के लिए उपयोग कर रहे थे।
सेर्गेई

मुझे लगा कि मेरे ModX इंस्टॉल में कुछ गड़बड़ है, लेकिन नहीं, आपका जवाब निश्चित है। धन्यवाद। इसके अलावा, मैं भी पुराने संस्करण में लौट आया। यह अब बहुत बेहतर चलता है।
vr_driver

67
ध्यान दें कि php.ini फ़ाइल को आप संपादित करना चाहते हैं, वह / बिन में है, कि / कॉन्फिडेंस में। मेरे पूरा पथ था /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
हस्की

मैंने एक बग रिपोर्ट प्रस्तुत की है, उम्मीद है कि वे इसे भविष्य के संस्करण में डिफ़ॉल्ट रूप से अक्षम कर देंगे: bugs.mamp.info/view.php?id=4296
हस्की

38

मैंने opcache_reset () जोड़ा ; मेरे मुख्य PHP में इस कैशिंग को रोकने के लिए।

इसे हटाने से php5.5.3/conf/php.iniमेरे लिए कुछ नहीं हुआ।

संपादित करें

पता चला है कि वहाँ भी एक है /Applications/MAMP/bin/php/php5.5.3/conf/php.ini। यह काम करता है अगर मैं इसे वहाँ टिप्पणी करता हूं।


1
/ बिन निर्देशिका में OPcache टिप्पणी करते हुए मेरे लिए काम किया! उसके लिए धन्यवाद!
डेविसपिनल

/Applications/MAMP/bin/php/php5.5.3/conf/php.iniकुछ भी नहीं है, लेकिन काम opcache_reset();करने के लिए जोड़ने में php.ini में OPcache टिप्पणी index.php
Даниил Пронин

26

1) /Applications/MAMP/bin/php/php5.5.3/conf/php.ini में
2) सेट opcache.revalidate_freq = 0
3) पुनः आरंभ MAMP


2
यह काम करने लगता है। मुझे इस समाधान को लागू करने से बेहतर लगा कि इस पर टिप्पणी करना बेहतर होगा। लेकिन क्या कोई अंतर है?
केतु

10

मुझे यह पता लगाने के लिए इतना समय लगा कि यह एक MAMP समस्या थी! OPcache को डिफ़ॉल्ट रूप से सक्षम क्यों किया जाएगा - और परीक्षण वेबसाइटों के लिए उपयोग किए जाने वाले एप्लिकेशन में अक्षम करने के लिए php.ini को निष्क्रिय करने की आवश्यकता होती है? वैसे भी, मैंने इस पूरे सूत्र को पढ़ा और विभिन्न समाधानों की कोशिश की।

यहां मेरे नोट्स हैं कि प्रत्येक समाधान कैसे काम करता है और समाधान का चयन करने के लिए विचार।

प्रत्येक समाधान अपने आप काम करता है; अतिरेक की कोई आवश्यकता नहीं है।


वेबपेज कोड समाधान

opcache_reset ();

<?php opcache_reset(); ?>
  • वेबपेज कोड में जोड़ा जाना चाहिए।
  • सभी लिपियों को फिर से लोड करने के लिए मजबूर करता है।
  • MAMP सर्वर को पुनरारंभ किए बिना काम करता है।

सर्वर कॉन्फ़िगरेशन समाधान

महत्वपूर्ण:php.ini फ़ाइल का उपयोग करें /Applications/MAMP/bin/php/php5.5.3/conf/php.iniऔर अंदर नहीं /Applications/MAMP/conf/php5.5.3/php.ini । यदि आप PHP के किसी भिन्न संस्करण का उपयोग कर रहे हैं, तो तदनुसार समायोजित करें।

सक्षम = 0

[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
enable=0
  • के तहत जोड़ा जाना चाहिए [OPcache]मेंphp.ini
  • OPcache अक्षम करता है।
  • MAMP सर्वर पुनरारंभ की आवश्यकता है।

opcache.revalidate_freq = 0

[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.enable_cli=1
  • संशोधित opcache.revalidate_freqतहत [OPcache]मेंphp.ini
  • OPcache को हर 60 सेकंड के बजाय हर 0 सेकंड में अपडेट करने के लिए बनाता है।
  • MAMP सर्वर पुनरारंभ की आवश्यकता है।

बाहर टिप्पणी [OPcache]

;[OPcache]
;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
;opcache.memory_consumption=128
;opcache.interned_strings_buffer=8
;opcache.max_accelerated_files=4000
;opcache.revalidate_freq=60
;opcache.fast_shutdown=1
;opcache.enable_cli=1
  • पूरे [OPcache]अनुभाग में टिप्पणी करेंphp.ini
  • PHP सर्वर से OPcache निकालता है।
  • MAMP सर्वर पुनरारंभ की आवश्यकता है।

विचार

वेबपृष्ठ कोड समाधान चुनें यदि:

  • आपको बस किसी विशेष परियोजना के लिए स्क्रिप्ट को ताज़ा करने के लिए मजबूर करने की आवश्यकता है
  • आप MAMP सर्वर को पुनरारंभ नहीं करना चाहते हैं
  • आप php.ini को संपादित नहीं करना चाहते हैं

यदि सर्वर कॉन्फ़िगरेशन समाधान चुनें:

  • आप प्रत्येक प्रोजेक्ट में करने के बजाय डिफ़ॉल्ट रूप से कैशिंग अक्षम करना चाहते हैं
  • आप php.ini के संपादन में सहज हैं

मैं व्यक्तिगत रूप से पसंद करता हूं enable=0क्योंकि यह मेरे लिए सबसे सरल समाधान है, और मुझे डिफ़ॉल्ट रूप से अक्षम कैशिंग की आवश्यकता है।


संदर्भ


4

OS X के लिए MAMP 3.0.7.2

ऐसा लगता है कि यह अंततः एक GUI विकल्प है। MAMP 3.0.7.2 for Mac OS X


यह स्पष्ट रूप से OPCache को अक्षम नहीं करता है। मेरा इस सेटिंग "बंद" के साथ भी सक्रिय था।
Auco

2

यह लगभग 1 घंटे का दर्दनाक खर्च था जो यह पता लगाने की कोशिश कर रहा था कि यह क्या हो सकता है।

मैंने इसे कोड के अंत में जोड़ा और MAMP को पुनः आरंभ किया।

  opcache.revalidate_freq=0
  opcache_reset();

2

"/Applications/MAMP/conf/php5.5.3/php.ini" संपादित करें, और [OPcache] खोज करें और सीधे इस कोड को इसमें जोड़ें:

opcache.enable=0

यह MAMP सर्वर में PHP का उपयोग करते समय opcache को अक्षम कर देगा।


मेरे ubuntu सर्वर के लिए काम किया। धन्यवाद।
सिनान एल्डेम

2

अरे यार मैं खुश हूँ मुझे यह धागा मिला! मैं अपने बालों को बाहर निकाल रहा था! मैंने कल ही MAMP को अपग्रेड किया था और इस कैशिंग मुद्दे को आज तक किसी प्रोजेक्ट पर काम करते समय नोटिस नहीं किया। सोचा था कि मैं अपना दिमाग खो रहा हूं। मैंने अभी-अभी "opAppations/MAMP/conf/php5.5.3/php.ini" फ़ाइल के बहुत नीचे opcache.enable = 0 बदला है


1

यह MAMP के विंडोज संस्करण में भी वर्तमान है।

C: \ MAMP \ conf \ php5.6.3 \ php.ini

यह फ़ाइल के बहुत नीचे सूचीबद्ध है।

दूसरी समस्या जो मुझे मिली, वह QNAP NAS TS-431 पर थी। यह कैशिंग भी सक्षम है, और यदि आप गतिशील रूप से बदलती फ़ाइलों के साथ काम कर रहे हैं, या इस पर विकास करने की कोशिश कर रहे हैं, तो आप अपने बालों को बाहर निकाल देंगे। अन्य टिप्पणियों के अनुसार, इसे टिप्पणी दें। सेटिंग में स्थित है:

नियंत्रण कक्ष / अनुप्रयोग / वेब सर्वर / PHP.ini रखरखाव।

एक बार फिर, आपको फ़ाइल के निचले भाग में सेटिंग्स मिलेंगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.