2015-01-02 9 views
6

के बाद से मैं 5.4 से 5.6 के लिए पीएचपी को अपग्रेड किया है मैं, एक अजीब समस्या हो रही है। मैंने कभी भी त्रुटि को कभी नहीं देखा है, लेकिन लॉग इन इस संदेश के साथ हर दिन लॉग:पीएचपी 5.6 सत्र + Memcache (घ)

session_write_close(): सत्र डेटा (memcached) लिखने में विफल। कृपया सत्यापित करें कि सत्र.save_path की वर्तमान सेटिंग सही है (127.0.0.1:11211)

यह हमेशा होता है, लेकिन केवल कुछ उपयोगकर्ताओं के लिए नहीं होता है। और यह तीन अलग-अलग सर्वरों पर होता है जिनमें PHP ~ 5.6 & नवीनतम डेबियन पर Memcached है। मैंने Memcache में memcached एक्सटेंशन को स्विच करने का प्रयास किया है (निश्चित रूप से php.ini में save_handler को बदलने के साथ), और समस्या अभी भी बनी हुई है। मैंने php.ini में सत्र लॉक को अक्षम करने का भी प्रयास किया है। समस्या निश्चित रूप से PHP से संबंधित है, क्योंकि मैंने एक पर्ल स्क्रिप्ट के साथ मेमकैचड डिमन का परीक्षण किया है, और एक कनेक्शन त्रुटि नहीं थी।

सब कुछ एक बहुत लंबे समय के लिए एकदम सही काम कर रहा था, और मैं सही पीएचपी अपग्रेड करने के बाद इस समस्या होने लगा, तो यह memcached config, या कुछ इस तरह से संबंधित नहीं है। हो सकता है कि मुझसे कुछ छूट रहा हो? शायद 5.6 को अपनी आईएनआई फाइल में कुछ अतिरिक्त विन्यास की आवश्यकता है? मैं बस इसे समझ नहीं सकता।

फिलहाल मैं एक तरह से अटक कर रहा हूँ, और मुझे आशा है कि किसी को भी सलाह के साथ मेरी मदद कर सकते हैं। मैं वापस 5.4, या 5.5 पर स्विच करने का प्रयास कर सकता हूं, लेकिन यह वास्तव में एक विकल्प नहीं है, मैं वास्तव में 5.6 से चिपकना चाहता हूं।

+0

।6 आदर्श है, लेकिन थोड़ी देर के लिए 5.5 पर वापस स्विच करना एक बड़ी मुश्किल होगी? आप अपने स्वयं के संस्करण को संकलित कर सकते हैं और बॉक्स के लिए अपाचे कॉन्फ़िगरेशन में इसे स्विच कर सकते हैं, यह देखने के लिए कि क्या आपको एक ही समस्या है या नहीं। प्राथमिक 5.6 संस्करण पर वापस स्विच करना तुच्छ होगा। – halfer

उत्तर

0

कृपया सुनिश्चित करें कि आप सत्र php.ini रहे हैं में इस तरह है या नहीं।

session.save_path = "tcp://127.0.0.1:11211" 

या यूनिक्स के लिए कुर्सियां ​​

session.save_path = "unix:///var/run/memcached.sock" 
1

2 php के लिए एक्सटेंशन, मेम्कैश और memcached रहे हैं।

memcached एक्सटेंशन libmemcache पर आधारित है, और आपको वैसे भी इसे प्राथमिकता देना चाहिए।

मेरे अनुभव में memcache daemon के वर्तमान संस्करण memcache एक्सटेंशन के साथ अच्छा नहीं खेल पाए। भंडारण डेटा काम किया, लेकिन मैं पहली बार अनुरोध के बाद सत्र में डेटा लिखने के लिए पर्याप्त प्रदर्शन के मुद्दों का सामना करना पड़ा (पूरी तरह से नए सत्र के लिए पहले अनुरोध ठीक है और तेजी से था, हर निम्नलिखित अनुरोध 10 सेकंड तक ले लिया!)। मेम्कैश की जगह memcached तय इस विशेष समस्या के साथ।

चेतावनी: memcached के लिए session.save_path वाक्य विन्यास थोड़ा अलग था। मैं tcp:// ommit करना पड़ा है या यह memcached उपयोग के लिए

कार्य नहीं करेगा तो:

session.save_path = "127.0.0.1:11211" 

और मेम्कैश उपयोग के लिए:

session.save_path = "tcp://127.0.0.1:11211" 
पाठ्यक्रम 5 में से
संबंधित मुद्दे