ID:               43747
 User updated by:  pasamio at gmail dot com
 Reported By:      pasamio at gmail dot com
 Status:           Open
 Bug Type:         Session related
 Operating System: Linux/Apache2
 PHP Version:      5.2.5
 New Comment:

This also impacts:
- session_get_cookie_params
- session_module_name
- session_set_save_handler
- session_save_path
- session_cache_limiter
- session_cache_expire
- ignore_user_abort
- set_include_path

Reproduce Code:
---------------
<?php
function dummy() { 
        echo 'Dummy Function Called<br />';
        return true;
} 

// Session Name
$old = session_name("new");
$new = session_name();
echo 'session_name results<br />';
echo 'Old Name: ' . $old . '<br />';
echo 'New Name: ' . $new . '<br />';
echo '<hr />';

// Session_set_cookie_params
$old = session_get_cookie_params();
session_set_cookie_params(20); // returns void
$new = session_get_cookie_params();
echo 'session_get_cookie_params results<br />';
echo 'Old: '. print_r($old, 1) .'<br />';
echo 'New: '. print_r($new, 1) .'<br />';
echo '<hr />';

// session_module_name
$old = session_module_name('user');
$new = session_module_name();
echo 'session_module_name results<br />';
echo 'Old: '. $old .'<br />';
echo 'New: '. $new .'<br />';
echo '<hr />';

// session_set_save_handler
echo 'session_set_save_handler results<br />';
$result = session_set_save_handler("dummy", "dummy", "dummy", "dummy",
"dummy", "dummy");
echo 'Result: '. $result .'<br />';
echo 'Session Start: ';
@session_start();
echo 'session_set_save_handler dummy messages for the session
destructon: <br />';
session_destroy();
echo '<hr />';

// session_save_path
echo 'session_save_path results <br />';
$old = session_save_path('/new');
$new = session_save_path();
echo 'Old: '. $old .'<br />';
echo 'New: '. $new .'<br />';
echo '<hr />';

// session_cache_limiter
echo 'session_cache_limiter results <br />';
$old = session_cache_limiter('private');
$new = session_cache_limiter();
echo 'Old: '. $old .'<br />';
echo 'New: '. $new .'<br />';
echo '<hr />';

// session_cache_expire
echo 'session_cache_expire results<br />';
$old = session_cache_expire(19);
$new = session_cache_expire();
echo 'Old: '. $old .'<br />';
echo 'New: '. $new .'<br />';
echo '<hr />';

// set_include_path
echo 'set_include_path results<br />';
$old = get_include_path();
set_include_path('/new');
$new = get_include_path();
echo 'Old: '. $old .'<br />';
echo 'New: '. $new .'<br />';
echo '<hr />';

// ignore_user_abort
echo 'ignore_user_abort results<br />';
$old = ignore_user_abort(true);
$new = ignore_user_abort();
echo 'Old: '. $old .'<br />';
echo 'New: '. $new .'<br />';
echo '<hr />';
echo 'Done';


Expected result:
----------------
iconv_set_value results
Old: ISO-8859-1
Return Value: 1
New: UTF-8
session_name results
Old Name: PHPSESSID
New Name: new
session_get_cookie_params results
Old: Array ( [lifetime] => 0 [path] => / [domain] => [secure] =>
[httponly] => )
New: Array ( [lifetime] => 20 [path] => / [domain] => [secure] =>
[httponly] => )
session_module_name results
Old: files
New: user
session_set_save_handler results
Result: 1
Session Start: Dummy Function Called
Dummy Function Called
session_set_save_handler dummy messages for the session destructon:
Dummy Function Called
Dummy Function Called
session_save_path results
Old:
New: /new
session_cache_limiter results
Old: nocache
New: private
session_cache_expire results
Old: 180
New: 19
set_include_path results
Old: .:/usr/local/lib/php
New: /new
ignore_user_abort results
Old: 0
New: 1
Done

Actual result:
iconv_set_value results
Old: ISO-8859-1
Return Value:
New: ISO-8859-1
session_name results
Old Name: PHPSESSID
New Name: PHPSESSID
session_get_cookie_params results
Old: Array ( [lifetime] => 0 [path] => / [domain] => [secure] =>
[httponly] => )
New: Array ( [lifetime] => 0 [path] => / [domain] => [secure] =>
[httponly] => )
session_module_name results
Old: files
New: files
session_set_save_handler results
Result: 1
Session Start: session_set_save_handler dummy messages for the session
destructon:
session_save_path results
Old:
New:
session_cache_limiter results
Old: nocache
New: nocache
session_cache_expire results
Old: 180
New: 180
set_include_path results
Old: .:/usr/local/lib/php
New: .:/usr/local/lib/php
ignore_user_abort results
Old: 0
New: 0
Done


Previous Comments:
------------------------------------------------------------------------

[2008-01-04 05:49:47] pasamio at gmail dot com

Description:
------------
When the value is left at defaults or set with php_value in a .htaccess
file the setting updates. When using php_admin_value, session_name
remains the same. There is no mention in documentation of this being
impossible, so I believe it to be a bug.

The sample code shows that when configured using php_admin_value the
session_name() doesn't change.

Would appear to be related to this as session_name actually calls
zend_alter_ini_entry:
Bug #41561      Values set with php_admin_* in httpd.conf can be
overwritten with ini_set()



Reproduce code:
---------------
In the httpd.conf (or similar) add:
php_admin_value session.name adminvalue

<?php
$oldname = session_name("new");
$newname = session_name();
echo 'Old Name: ' . $oldname . '<br />';
echo 'New Name: ' . $newname . '<br />';


Expected result:
----------------
Old Name: adminvalue
New Name: new

Actual result:
--------------
Old Name: adminvalue
New Name: adminvalue


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=43747&edit=1

Reply via email to