Edit report at https://bugs.php.net/bug.php?id=68015&edit=1
ID: 68015
Comment by: rmoisto at gmail dot com
Reported by: rmoisto at gmail dot com
Summary: Session is not filled in cli script
Status: Feedback
Type: Bug
Package: Session related
Operating System: Ubuntu 12 x64
PHP Version: 5.5.16
Assigned To: yohgaki
Block user comment: N
Private report: N
New Comment:
The problem is still present.
Output of "php -v":
PHP 5.5.18-1+deb.sury.org~precise+1 (cli) (built: Oct 17 2014 15:11:34)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2014 Zend Technologies
with Zend OPcache v7.0.4-dev, Copyright (c) 1999-2014, by Zend Technologies
I've updated my test script:
<?php
session_id($argv[1]);
session_start();
echo file_get_contents('/var/lib/php5/sessions/sess_' . $argv[1]) . PHP_EOL;
var_dump($_SESSION);
var_dump(session_id());
var_dump(session_save_path());
Which outputs:
(actual data in the session file, too much of it to paste here)
array(0) {
}
string(26) "l8lrlpo9t36guik6m8h04lnaa6"
string(22) "/var/lib/php5/sessions"
The assumption that a CLI script is filling the session is false.
It is filled by fpm that is used by the web server (nginx).
Previous Comments:
------------------------------------------------------------------------
[2015-02-03 03:43:34] yohgaki@php.net
It seems working now. Do you still have this issue?
[yohgaki@dev PHP-5.5]$ cat t1.php
<?php
session_id($argv[1]);
session_start();
var_dump($_SESSION);
$_SESSION['test']=time();
[yohgaki@dev PHP-5.5]$ ./php-bin -d session.use_strice_mode=0 t1.php 21345
array(1) {
["test"]=>
int(1422934949)
}
[yohgaki@dev PHP-5.5]$ ./php-bin -d session.use_strice_mode=0 t1.php 21345
array(1) {
["test"]=>
int(1422934964)
}
------------------------------------------------------------------------
[2014-09-12 20:44:07] rmoisto at gmail dot com
Description:
------------
I have a tiny cli script that accepts a session id as a command line argument. It's job is to
fetch that session and print it out.
Since upgrading to PHP 5.5.16 the $_SESSION variable is always empty. It did work before.
Test script:
---------------
<?php
session_id($argv[1]);
session_start();
var_dump($_SESSION);
Expected result:
----------------
$_SESSION is an array filled with session information.
Actual result:
--------------
$_SESSION is an empty array.
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=68015&edit=1