mam problem z przesyłaniem danych sesji w momencie posiadania 2 osobnych sesji w tym jednej przez CURL
pierwszy plik: login.php - wysyła komendę logowania do zdalnego serwera, logowanie następuje poprawnie, ponieważ dodanie do login.php echo $kod, potwierdza prawidłowe wykonie komendy curl
<?php function send_command($command){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL,$url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $command); curl_setopt($ch, CURLOPT_COOKIEFILE, '/home/test/cookies.txt'); curl_setopt($ch, CURLOPT_COOKIEJAR, '/home/test/cookies.txt'); $result=curl_exec ($ch); curl_close($ch); return $result; } $response = send_command($command); $data = simplexml_load_string($response); $kod = $data->result_code; $_SESSION['code'] = $kod; ?>
drugi plik check.php
?>
Pierwszy plik wykonuje się poprawnie, na serwerze gdzie znajdują się pliki php - tworzy się plik cookies.txt z numerem sesji.
Na lokalnym komputerze też tworzony jest plik cookies z odrębnym numerem sesji.
Następnie uruchamiany jest plik check.php, który powoduję błędy
Warning: session_start() [function.session-start]: Node no longer exists in /home/test/check.php on line 1
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/test/check.php:1) in /home/test/check.php on line 1
kod:
Warning: Unknown: Node no longer exists in Unknown on line 0
Problemem oprócz ostrzeżeń jest też brak danych w $_SESSION['code']
Numer sesji przy drugim pliku jest zachowany, ponieważ gdy dodam echo session_id(); zwracany jest ten sam nr sesji lokalnej w przeglądarce.
W tym przypadku mamy do czynienia z 2 sesjami:
1. obsługiwana przez curl ze zdalnego serwera (cookies na serwerze)
2. obsługiwana przez serwer gdzie są pliki php (cookies w lokalnej przeglądarce)
druga sesja ma między innymi pilnować automatycznego zamykania sesji zdalnego połączenia w przypadku bezczynności i usuwania pliki cookies z /home/test/ oraz obrabiać dane ze zdalnej sesji na lokalnym serwerze w celu przekazania ich do przeglądarki
Dziękuję z góry za wszelkie sugestie