Witam, mam nastepujacy problem.

Oferujemy klientom usługę sklepu bezobslugowego. Wchodzą, rejestrują się, i otrzymują plik index.php do umieszczenia na swojej stronie:

  1. <?php
  2. $opts = array(
  3. 'http' => array(
  4. 'method' => 'GET',
  5. 'header' => 'Cookie: sesja=0123456789abcdef0123456789abcdef'
  6. )
  7. );
  8. $context = stream_context_create($opts);
  9. echo file_get_contents('http://domena_sklepu.pl/index.php/sklepy/witryna', 0, $context);
  10. ?>


Zaś na "serwerze-matce" mam następujący kod:

  1. <?php
  2. $ajdi = $_COOKIE['sesja'];
  3. session_id($ajdi);
  4.  
  5. [wykonuje cala strone]
  6.  


Id_sesji deklarowane jest w tej chwili na sztywno, po prostu zeby to jakoś odpalić.
W każym razie chodzi o to, że sesja sie nie utrzymuje, jeżeli skorzystam z COOKIE wewnatrz bufora.
Co ciekawe jesli plik na serwerze matce mialby postac:
  1. <?php
  2. $ajdi = '0123456789abcdef0123456789abcdef';
  3. session_id($ajdi);
  4.  
  5. [wykonuje cala strone]
  6.  


wówczas całość działa bez żadnych problemów.
No, może poza tym "drobnym", że nie mogę przecież ustawić id sesji na sztywno, bo wówczas każdy nowy użytkownik podłącza się do istniejącej sesji i żaden nie wykona właściwej akcji, bo będą sobie nawzajem wchodzić w drogę.

Dlatego też upatrywałbym problemu w buforowaniu cookies, i nijak nie jestem sobie w stanie z tym poradzić.
Kiedyś byłem biegły z tematu buforowania, ale obecnie wiem tylko tyle ze daje sie ob_start(); i ob_end_flush(); żeby nie bylo bledu "headers already sent", i w takim też celu ich używam w powyzszych plikach.