2010-02-24 6 views
6

एक अजीब मुद्दा का प्रकार व्यतीत कर रहा है, ठीक है यहाँ मेरा सेटअप है ...पीएचपी session_start

  1. domain.com कॉल sub.domain.com पर
  2. sub.domain.com बनाता है एक Iframe से पढ़ता एक ajax कॉल sub.domain.com/call.php को
  3. sub.domain.com रिटर्न ajax कॉल

domain.com को उर्फ ​​लंबे समय से मतदान

अब, EV कोई सत्र डेटा नहीं होने पर erything पूरी तरह से काम करता है (मैं ब्राउज़र बंद करता हूं और पृष्ठ को पुनरारंभ करता हूं)। हालांकि, एक बार जब मैं पृष्ठ को पुनः लोड करता हूं और उनका सत्र डेटा होता है, तो call.php start_session() करता है और वहां लटकता है।

मैंने लगभग हर चीज की कोशिश की है और इसे समझ नहीं सकता है। मैंने सत्र को नष्ट करने, सभी सत्र चर को अनसेट करने, कुछ आईएनआई सेटिंग्स को संशोधित करने का प्रयास किया है, और कुछ भी काम नहीं किया है।

यहाँ

call.php जहां सत्र डेटा है के कोड है ...

session_start(); 

     $sql = ("SELECT userid FROM status WHERE typing = '".mysql_real_escape_string($userid)."'"); 
     $result = mysql_query($sql); 

     if ($result && mysql_num_rows($result) > 0) { 
      $row = mysql_fetch_array($result); 
      $typing_id = $row['userid']; 
      if (!empty($typing_id)) { 
       if (isset($_SESSION['typing2'])) { 
        unset($_SESSION['typing2']); 
       } 
      } else { 
       $typing_id = "-1"; 
      } 
     } else { 
      $typing_id = "-1"; 
      if (isset($_SESSION['typing'])) { 
       unset($_SESSION['typing']); 
      } 
     } 

     if ($_SESSION['typing'] != $typing_id && !isset($_SESSION['typing2']) || $initialize == "1") { 
      $typing = array('typing_id' => $typing_id); 
     } 

     if ($typing_id == "-1") { 
      $_SESSION['typing2'] = "-1"; 
     } else { 
      $_SESSION['typing'] = $typing_id; 
     } 

किसी को भी किसी भी विचार है? मैं सोच रहा था कि इसे डोमेन के साथ करना पड़ सकता है लेकिन मुझे यकीन नहीं है।

धन्यवाद!

+2

एसओ क्रिस में आपका स्वागत है। आपको कोड उदाहरण प्रदान किए बिना _any_ उपयोगी उत्तरों प्राप्त करने की संभावना नहीं है। इस प्रश्न को उत्तरदायी बनाने के लिए यहां लगभग पर्याप्त डेटा नहीं है। यह संभवतः "असली सवाल नहीं" के रूप में बंद हो जाएगा। मैं सुझाव देता हूं कि जब आप इसे दोबारा पोस्ट करने का फैसला करते हैं तो बहुत अधिक जानकारी प्रदान करते हैं। – hobodave

उत्तर

7

मैं वास्तव में पता चला कि समस्या का कारण किया जा रहा है (घंटे और डिबगिंग और अनुसंधान के घंटे के बाद) क्योंकि पीएचपी सत्र ताला लगाया। फिर, जब नया पृष्ठ लोड होता है, तो यह पुराने सत्र के समय तक काम नहीं करेगा। एक session_write_close() इसे ठीक करेगा।

+0

आपने अभी मुझे एक वास्तविक समय बचाया है। धन्यवाद। – richo