Date: 03/04/01
- Next message: aelmahmoudy <email protected>: "[PHP-DEV] PHP 4.0 Bug #9544: undefined versioned symbol name __ns_name_unpack@ <email protected>"
- Previous message: evstatiev <email protected>: "[PHP-DEV] PHP 4.0 Bug #9532 Updated: with session.auto_start=1 session data is not available without session_start()"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
ID: 8772
User Update by: serge <email protected>
Status: Open
Bug Type: *Session related
Description: user level session storage fails when register_globals off
I would like to know if there is any news with regards to this bug? The workaround involves using "register_globals on" and I really don't like this aproach.
Thanks, Serge
Previous Comments:
---------------------------------------------------------------------------
[2001-02-22 18:39:01] serge <email protected>
Steve Chadsey has reported that he has the same bug as me:
His message follow.
For the record, I am having the *exact* problem you describe. It's on a RedHat 6.2 system, kernel 2.4.1, PostgreSQL 7.0.3, Apache/1.3.17 (Unix) mod_perl/1.25 PHP/4.0.4pl1. With register_globals off, the session
write function is never getting called. With register_globals on, it works fine.
Do you think I should add a new bug report? Can I add a "me too" to
your bug report?
Thanks,
-- Steve Chadsey <tyr <email protected>>---------------------------------------------------------------------------
[2001-02-03 07:14:11] serge <email protected> Looks like someone else is having the same problem.
See bug number 9002
Serge
---------------------------------------------------------------------------
[2001-01-25 14:39:36] serge <email protected> Below are my php.ini settings and Virtual Host settings Serge
# php.ini file [PHP]
engine = On short_open_tag = On asp_tags = Off precision = 14 y2k_compliance = Off output_buffering = Off output_handler = implicit_flush = Off allow_call_time_pass_reference = Off
; Safe Mode safe_mode = Off safe_mode_exec_dir = safe_mode_allowed_env_vars = PHP_ safe_mode_protected_env_vars = LD_LIBRARY_PATH disable_functions =
#zend_optimizer.optimization=15 #zend_extension="/usr/local/Zend/lib/ZendOptimizer.so"
zend_extension="/usr/local/Zend/lib/ZendDebugger.so"
; Colors for Syntax Highlighting mode. Anything that's acceptable in <font color=???> would work. highlight.string = #DD0000 highlight.comment = #FF8000 highlight.keyword = #007700 highlight.bg = #FFFFFF highlight.default = #0000BB highlight.html = #000000
; Misc expose_php = Off
;;;;;;;;;;;;;;;;;;; ; Resource Limits ; ;;;;;;;;;;;;;;;;;;;
max_execution_time = 60 memory_limit = 8M
error_reporting = E_ALL & ~E_NOTICE & ~E_WARNING display_errors = On display_startup_errors = Off log_errors = Off track_errors = On ;error_prepend_string = "<font color=ff0000>" ;error_append_string = "</font>" ;error_log = filename ;error_log = syslog warn_plus_overloading = Off
;;;;;;;;;;;;;;;;; ; Data Handling ; ;;;;;;;;;;;;;;;;; variables_order = "GPCS" register_globals = Off register_argc_argv = Off post_max_size = 8M gpc_order = "GPC"
; Magic quotes magic_quotes_gpc = Off magic_quotes_runtime= Off magic_quotes_sybase = Off
; automatically add files before or after any PHP document auto_prepend_file = auto_append_file =
; PHP's built-in default is text/html default_mimetype = "text/html" ;default_charset = "iso-8859-1"
;;;;;;;;;;;;;;;;;;;;;;;;; ; Paths and Directories ; ;;;;;;;;;;;;;;;;;;;;;;;;; include_path = doc_root = user_dir = extension_dir = ./ enable_dl = On
;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; file_uploads = On ;upload_tmp_dir = upload_max_filesize = 15M
;;;;;;;;;;;;;;;;;; ; Fopen wrappers ; ;;;;;;;;;;;;;;;;;; allow_url_fopen = On
;;;;;;;;;;;;;;;;;;; ; Module Settings ; ;;;;;;;;;;;;;;;;;;;
[Syslog] define_syslog_variables = Off
[mail function] SMTP = localhost sendmail_from = webmaster <email protected> sendmail_path = '/var/qmail/bin/qmail-inject -N'
[Debugger] debugger.host = localhost debugger.port = 7869 debugger.enabled = False
[Logging] ;logging.method = db ;logging.directory = /path/to/log/directory
[Java]
[SQL] sql.safe_mode = Off
[ODBC] odbc.allow_persistent = On odbc.check_persistent = On odbc.max_persistent = -1 odbc.max_links = -1 odbc.defaultlrl = 4096 odbc.defaultbinmode = 1
[MySQL] mysql.allow_persistent = On mysql.max_persistent = -1 mysql.max_links = -1 mysql.default_port = mysql.default_socket = mysql.default_host = mysql.default_user = mysql.default_password =
[mSQL] msql.allow_persistent = On msql.max_persistent = -1 msql.max_links = -1
[PostgresSQL] pgsql.allow_persistent = On pgsql.max_persistent = -1 pgsql.max_links = -1
[Sybase] sybase.allow_persistent = On sybase.max_persistent = -1 sybase.max_links = -1 ;sybase.interface_file = "/usr/sybase/interfaces" sybase.min_error_severity = 10 sybase.min_message_severity = 10 sybase.compatability_mode = Off
[Sybase-CT] sybct.allow_persistent = On sybct.max_persistent = -1 sybct.max_links = -1 sybct.min_server_severity = 10 sybct.min_client_severity = 10
[bcmath] bcmath.scale = 0
[browscap]
[Informix] ifx.default_host = ifx.default_user = ifx.default_password = ifx.allow_persistent = On ifx.max_persistent = -1 ifx.max_links = -1 ifx.textasvarchar = 0 ifx.byteasvarchar = 0 ifx.charasvarchar = 0 ifx.blobinfile = 0 ifx.nullformat = 0
[Session] session.save_handler = user session.save_path = php_sessions session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.cookie_domain = session.serialize_handler = php session.gc_probability = 10 session.gc_maxlifetime = 1200 session.referer_check = session.entropy_length = 0 ;session.entropy_file = session.entropy_length = 16 session.entropy_file = /dev/urandom session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 1
url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"
[MSSQL] mssql.allow_persistent = On mssql.max_persistent = -1 mssql.max_links = -1 mssql.min_error_severity = 10 mssql.min_message_severity = 10 mssql.compatability_mode = Off ;mssql.textlimit = 4096 ;mssql.textsize = 4096 ;mssql.batchsize = 0
[Assertion] ;assert.active = Off ;assert.warning = On ;assert.bail = Off ;assert.callback = 0 ;assert.quiet_eval = 0
[Ingres II] ingres.allow_persistent = On ingres.max_persistent = -1 ingres.max_links = -1 ingres.default_database = ingres.default_user = ingres.default_password =
[Verisign Payflow Pro]
[Sockets] sockets.use_system_read = Off
======================== ========================
# virtual host settings <VirtualHost 192.168.0.7> ServerAdmin webmaster <email protected> DocumentRoot /www/medialib-dev/htdocs ServerName medialib-dev.globalbeach.com ErrorLog /www/medialib-dev/logs/error_log CustomLog /www/medialib-dev/logs/access_log common php_flag register_globals off php_flag track_vars on php_value auto_prepend_file "/usr/local/apache/conf/pgsql_session_handler.php" php_value include_path "/www/medialib-dev/libs" php_value open_basedir "/www/medialib-dev" </VirtualHost>
---------------------------------------------------------------------------
[2001-01-25 14:06:12] serge <email protected> P.S.
Whith register_globals on, this works fine.
session_register("myvar"); $myvar = "VarVar"; exit;
and $myvar gets registerd with its value by the handler just fine.
Serge
---------------------------------------------------------------------------
[2001-01-25 14:02:23] serge <email protected> OK, here is some more info....
I just installed the Zend IDE and did some debugging.
What I noticed was the following using this test code:
<?php session_register("myvar"); $HTTP_SESSION_VARS['myvar'] = "VarVar"; print "This is a test"; exit; ?>
if register_globals is off (Note: setting this in a virtual server with php_flag register_globals off)
session_register("myvar") calls open_session in my session handler, and then calls read_session in the handler I assign a value to $HTTP_SESSION_VARS['myvar'] upon exit; the following happens close_session is called in the session handler and thats the end! ---> write_session was never called?
####
if register_globals is on (Note: setting this in a virtual server with php_flag register_globals on)
session_register("myvar") calls open_session in session handler, and then calls read_session in the handler. I assign a value to $HTTP_SESSION_VARS['myvar'] upon exit; write_session is called and the value passed is !myvar| <---- missing the value of $myvar. close_session is called and thats that.
Questions:
In the first example, why is write_session never called? In the second example, why does !myvar| NOT have the value I assigned to it like so $HTTP_SESSION_VARS['myvar'] = "VarVar";
Thanks, Serge
---------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online.
Full Bug description available at: http://bugs.php.net/?id=8772
-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>
- Next message: aelmahmoudy <email protected>: "[PHP-DEV] PHP 4.0 Bug #9544: undefined versioned symbol name __ns_name_unpack@ <email protected>"
- Previous message: evstatiev <email protected>: "[PHP-DEV] PHP 4.0 Bug #9532 Updated: with session.auto_start=1 session data is not available without session_start()"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

