2014-12-25 2 views
0

Я использую сеансы PHP для хранения файлов cookie сеансов. вот скрипт, который отправляет HTTP-заголовки питона сценария, в том числе session_id:php session cookie слишком стойкий

<div id="header" class="grid_24"> 
    <?php 
    ob_start(); 
    session_start(); 
    $UA = $_SERVER['HTTP_USER_AGENT']; 
    $REF = $_SERVER['HTTP_REFERER']; 
    $IP = $_SERVER['REMOTE_ADDR']; 
    $GUID = session_id(); 
    $actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
    //echo $UA; 
    //echo $REF; 
    //echo $IP; 
    //echo $GUID; 
    echo ("python ../header_sender.py -u '$UA' -r '$REF' -i '$IP' -c '$GUID' -p '$actual_link' 2>&1"); 
    echo exec("python /var/www/html/oscommerce-2.3.3.4/header_sender.py -u '$UA' -r '$REF' -i '$IP' -c '$GUID' -p '$actual_link' 2>&1"); 
    ob_end_flush(); 
    ?> 

Проблема, которую я вижу в том, что в одной сессии есть даже тогда, когда я открываю другой браузер. Я понимаю, что session_start() сохраняет cookie сеанса, который живет во время открытия браузера. Как я могу получить один и тот же сеанс при открытии с другим браузером (я открываю firefox и вижу тот же файл cookie с хромированной сессии ..)?

Что мне здесь не хватает?

ответ

1

Вы можете установить сеанс session_name. Вы должны сделать это поверх своей страницы и до session_start();.

+0

, и это сделает сессионный файл cookie как сеансовый файл cookie (умереть, когда браузер закрывается)? – WeaselFox

+0

Сессия Cookie - это обычный файл cookie с определенным именем и идентификатором сеанса. Поэтому, если вы удаляете cookie при закрытии, сеанс закрывается, и вы получаете новый. – Stony

Смежные вопросы