ID: 48630
User updated by: sigurdne at online dot no
Reported By: sigurdne at online dot no
-Status: Feedback
+Status: Open
Bug Type: Session related
Operating System: ubuntu 9.04
PHP Version: 5.3CVS-2009-06-21 (snap)
Assigned To: fb-req-jani
New Comment:
<?php
/*
* A test for session_set_cookie_params and setcookie as mentioned in
* http://bugs.php.net/bug.php?id=48630
*/
$cookiename = 'cookiename';
$cookievalue = $_COOKIE[$cookiename] + 1;
$cookietime = time() + 3600;
$path = '/';
$domain = $_SERVER['HTTP_HOST']; // this one includes the port if
given (example:127.0.0.1:8080).
$secure = false;
$httponly = true;
session_set_cookie_params(0, $path, $domain, $secure, $httponly);
setcookie($cookiename, $cookievalue, $cookietime,$path,
$domain,$secure, $httponly);
echo '$_SERVER[SERVER_PORT]: ' . $_SERVER['SERVER_PORT'].
'</br></br>';
echo 'cookie_params:';
_debug_array(session_get_cookie_params());
echo 'cookie: ';
_debug_array($_COOKIE);
function _debug_array($var = '')
{
echo '<pre>';
print_r($var);
echo '</pre>';
}
?>
Previous Comments:
------------------------------------------------------------------------
[2009-07-09 20:54:46] [email protected]
Please provide a proper reproducing script we can test with anywhere.
One that starts with <?php and ends with ?> :)
------------------------------------------------------------------------
[2009-07-01 19:23:47] sigurdne at online dot no
Found out:
It fails if the SERVER_PORT (the "listen" setting in httpd.conf) is
anything but 80.
Applies to all versions from 5.2.6 to 5.3.0 (those are the versions I
have tested)
------------------------------------------------------------------------
[2009-06-25 12:41:12] [email protected]
Does it work with PHP 5.2.10 ?
------------------------------------------------------------------------
[2009-06-21 20:01:05] sigurdne at online dot no
Description:
------------
The cookie is not set if $domain is set in either of
session_set_cookie_params() and setcookie().
Reproduce code:
---------------
Fail:
session_set_cookie_params(0, $path, $domain, $secure,true);
Work:
session_set_cookie_params(0, $path, false, $secure,true);
the same with setcookie():
Fail:
setcookie($cookiename, $cookievalue, $cookietime,$path, $domain,
$secure, true);
Work
setcookie($cookiename, $cookievalue, $cookietime,$path, false, $secure,
true);
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=48630&edit=1