नहीं बदला जा सकता है मैंने एक नए और विकासशील साइट पर एक मौजूदा और सफलतापूर्वक चल रही साइट की प्रतिलिपि बनाई है।PHP सत्र कुकी नाम
नए सर्वर पर लॉगिन अब यह टूट गया है, और मैं इसे तथ्य यह है कि हालांकि सत्र कुकी का नाम बदले जाने के लिए नीचे ट्रैक किए गए ...
ini_set('session.name', 'DOMAIN1');
... ब्राउज़र sesssion कुकी के रूप में भंडारण रहता है PHPSESSID।
जब मैं नए सर्वर पर एप्लिकेशन से ऊपर की रेखा को हटा देता हूं, तो लॉगिन फिर से काम करता है। लेकिन यह एक अच्छा समाधान नहीं है, क्योंकि एक अन्य एप्लिकेशन इस नाम के तहत PHPSESSID का भी उपयोग करता है।
और मैं एक कामकाज का उपयोग करने के बजाय अजीब व्यवहार का कारण खोजना पसंद करूंगा। अगर मैं इसे ठीक नहीं करता तो यह मुझे कहीं और काट सकता है।
शायद किसी के लिए मुझे संकेत देने के लिए यह पहले से ही पर्याप्त जानकारी है। यदि नहीं, तो कौन सी जानकारी उपयोगी होगी?
यह मशीन एक बहुत नग्न और मूल उबंटू 8.04 सर्वर था, और मैंने apache2, mysql और php5 को योग्यता के साथ स्थापित किया। मैंने लोकेल्स और टाइमज़ोन भी अपडेट किया।
समाधान:
मैं स्वीकार किए जाते हैं जवाब से से इस कोड के साथ ऊपर लाइन की जगह ...
if(ini_set('session.name', 'DOMAIN1') === false || !session_name('DOMAIN1'))
{
die('Unable to set sesssion scope');
}
... और प्रवेश अब नए सर्वर पर काम करता है।
नहीं, ini_set() आईएनआई फ़ाइल को संशोधित नहीं करना चाहिए: http://php.net/ini_set देखें अन्यथा यह एक बड़ी संभावित सुरक्षा उल्लंघन होगी। – mojuba
हाँ क्षमा करें, रनटाइम केवल :) – RobertPitt
धन्यवाद, खोज के घंटों के बाद यह आखिरकार काम करता है। मैंने आपके उदाहरण से 4 लाइनों के साथ विरासत कोड को बदल दिया और इसे ठीक कर दिया! – mit