473,657 Members | 2,394 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

$_SESSION / $HTTP_SESSION_V ARS behaviour

I've been trying to integrate some PHP pages of my own with some
existing code. The details of this are for the support forums for that
code (where I have been asking questions), but I wonder if someone here
can enlighten me as to why the problematic code is having the effect it is.

For reasons I don't know, if the PHP version is 5 or greater,
register_long_a rrays is false and $_SESSION exists, the following
statement is executed:

$HTTP_SESSION_V ARS = $_SESSION;

This line is stopping any subsequent changes to the $_SESSION variable
from being stored in the session file on the server - changes can be
made, but are all lost at the end of the page processing and the value
reverts to whatever it was before the script was executed.

Is this behaviour by design? Why does it happen? Is there a standard
reason why anyone would include a statement like this (security?)?

I'm seeing this behaviour on PHP 5.1.3 / Win 2003 sp1 / IIS 6 and on PHP
5.1.6 / Win XP sp2 / Apache 2.

Thanks for any help!

Regards,
Mike
Nov 1 '06 #1
12 41157
Try this:

$HTTP_SESSION_V ARS = &$_SESSION;

Nov 1 '06 #2
se***********@g mail.com wrote:
Try this:

$HTTP_SESSION_V ARS = &$_SESSION;
Thanks for the suggestion, but as I don't know the intended purpose of
this statement, I don't really want to mess about with it without
understanding a bit more.

I was hoping someone would be able to tell me why a coder (who
presumably knows what they're doing) would write such a statement in the
first place...

Regards,
Mike
Nov 2 '06 #3
Michael Windsor wrote:
For reasons I don't know, if the PHP version is 5 or greater,
register_long_a rrays is false and $_SESSION exists, the following
statement is executed:

$HTTP_SESSION_V ARS = $_SESSION;
Probably the script was written for PHP version < (something) when the
superglobal arrays were not defined.
Instead of changing the script to use the "new" superglobal arrays, the
programmer chose to copy the $_SESSION array to the $HTTP_SESSION_V ARS
and keep everything else referencing $HTTP_SESSION_V ARS['index'].
This line is stopping any subsequent changes to the $_SESSION variable
from being stored in the session file on the server - changes can be
made, but are all lost at the end of the page processing and the value
reverts to whatever it was before the script was executed.
Check the very end of the script for a line

$_SESSION = $HTTP_SESSION_V ARS;
--
I (almost) never check the dodgeit address.
If you *really* need to mail me, use the address in the Reply-To
header with a message in *plain* *text* *without* *attachments*.
Nov 2 '06 #4
Pedro Graca wrote:
Michael Windsor wrote:
>For reasons I don't know, if the PHP version is 5 or greater,
register_long_ arrays is false and $_SESSION exists, the following
statement is executed:

$HTTP_SESSION_ VARS = $_SESSION;

Probably the script was written for PHP version < (something) when the
superglobal arrays were not defined.
Instead of changing the script to use the "new" superglobal arrays, the
programmer chose to copy the $_SESSION array to the $HTTP_SESSION_V ARS
and keep everything else referencing $HTTP_SESSION_V ARS['index'].
>This line is stopping any subsequent changes to the $_SESSION variable
from being stored in the session file on the server - changes can be
made, but are all lost at the end of the page processing and the value
reverts to whatever it was before the script was executed.

Check the very end of the script for a line

$_SESSION = $HTTP_SESSION_V ARS;

Thanks for your help.

What you say makes sense and made me realise what the code was for - I'm
afraid I hadn't quite clicked what the test for "register_long_ arrays"
was doing: somehow I saw "register_long_ arrays" and read
"register_globa ls" and therefore hadn't realised that $HTTP_SESSION_V ARS
isn't pre-populated on my system (by virtue of using the newer,
recommended php.ini in the distribution, as it turns out).

I can't find a corresponding assignment *to* the $_SESSION array in the
same file or that I can trace in any of the other included files. On the
surface, if this were happening, it would appear to perfectly explain my
problem - I write to $_SESSION and it gets overwritten by the contents
of $HTTP_SESSION_V ARS at the end of the script.

But this can't be the whole story: I've written code after the last
include that shows the same probem and, in fact, if I remove all the
phpbb code and *just* put "$HTTP_SESSION_ VARS = $_SESSION" after
session_start() , it stops $_SESSION behaving properly in exactly the
same way. It doesn't have to be $HTTP_SESSION_V ARS, incidentally,
assigning the value of $_SESSION to any other variable has the same effect.

Could this be a bug in PHP?

Thanks again,
Mike
Nov 2 '06 #5
Michael Windsor wrote:
if I [...] put "$HTTP_SESSION_ VARS = $_SESSION" after
session_start() , it stops $_SESSION behaving properly [...]

Could this be a bug in PHP?
My PHP does not exhibit that behaviour.
Can it be that you have /something else/ in your code responsible for
the behaviour you describe?
<?php
session_start() ;

if (rand(0, 1)) {

echo "Using copy of the \$_SESSION array...<br>\n" ;

$COPY_SESSION = $_SESSION;
if (!isset($COPY_S ESSION['count'])) {
$COPY_SESSION['count'] = 0;
}
$val = ++$COPY_SESSION['count'];
if (rand(0, 1)) {
echo "and not copying it back.<br>\n";
} else {
$_SESSION = $COPY_SESSION;
}

} else {

if (!isset($_SESSI ON['count'])) {
$_SESSION['count'] = 0;
}
$val = ++$_SESSION['count'];

}

echo "Current value is $val.<br>\n";
?>

--
I (almost) never check the dodgeit address.
If you *really* need to mail me, use the address in the Reply-To
header with a message in *plain* *text* *without* *attachments*.
Nov 2 '06 #6
Pedro Graca wrote:
Michael Windsor wrote:
>if I [...] put "$HTTP_SESSION_ VARS = $_SESSION" after
session_start( ), it stops $_SESSION behaving properly [...]

Could this be a bug in PHP?

My PHP does not exhibit that behaviour.
Can it be that you have /something else/ in your code responsible for
the behaviour you describe?
[snip code]

Your code on my web server exhibits the behaviour I would expect, but it
doesn't quite test the problem I'm having. If your code is amended as
follows:

<?php
session_start() ;

if (rand(0, 1)) {

echo "Using copy of the \$_SESSION array...<br>\n" ;

$COPY_SESSION = $_SESSION;
if (rand(0, 1)) {
echo "and not copying it back.<br>\n";
} else {
$_SESSION = $COPY_SESSION;
}
if (!isset($_SESSI ON['count'])) {
$_SESSION['count'] = 0;
}
$val = ++$_SESSION['count'];

} else {

if (!isset($_SESSI ON['count'])) {
$_SESSION['count'] = 0;
}
$val = ++$_SESSION['count'];

}

echo "Current value is $val.<br>\n";
?>

counter increments are only shown on pages following a page where a copy
is NOT taken of $_SESSION (i.e. the final else clause is executed),
regardless of whether the copy of $_SESSION is written back to it or
not. Note that all increments in this version of the code are made
directly to the $_SESSION array, never to a copy: the counter *should*
increment on every page load, as far as I can see. It doesn't on my system.
Nov 3 '06 #7
Michael Windsor wrote:
<?php
session_start() ;

if (rand(0, 1)) {

echo "Using copy of the \$_SESSION array...<br>\n" ;

$COPY_SESSION = $_SESSION;
if (rand(0, 1)) {
echo "and not copying it back.<br>\n";
} else {
$_SESSION = $COPY_SESSION;
}
if (!isset($_SESSI ON['count'])) {
$_SESSION['count'] = 0;
}
$val = ++$_SESSION['count'];

} else {

if (!isset($_SESSI ON['count'])) {
$_SESSION['count'] = 0;
}
$val = ++$_SESSION['count'];

}

echo "Current value is $val.<br>\n";
?>

counter increments are only shown on pages following a page where a copy
is NOT taken of $_SESSION (i.e. the final else clause is executed),
regardless of whether the copy of $_SESSION is written back to it or
not. Note that all increments in this version of the code are made
directly to the $_SESSION array, never to a copy: the counter *should*
increment on every page load, as far as I can see. It doesn't on my system.
This amended script *always* increments the current value for me.
Can you post the result of phpinfo()?

Nov 4 '06 #8
Pedro Graca wrote:
Michael Windsor wrote:
....[snip]...
>
This amended script *always* increments the current value for me.
Can you post the result of phpinfo()?
Sure.

If you'd like a more formatted version, I'll gladly email you the
generated html.

As far as I can recall, I haven't changed anything other than paths from
the default installation settings, excepting that I used the "new
improved" php.ini in the distribution and not the older (but, if I
recall, more compatible php.ini-dist). This installation is a proper
install from the standard distribution.

Although I haven't tested this particular script with it, I have been
seeing similar results on an XP laptop running PHP 5.1.6 installed as
part of the WAMP (http://www.wampserver.com/en/) distribution. Let me
know if the phpinfo() data from there would also be useful.

Thanks,
Mike

PHP Logo
PHP Version 5.1.3

System Windows NT AGORA 5.2 build 3790
Build Date May 1 2006 00:27:04
Configure Command cscript /nologo configure.js
"--enable-snapshot-build" "--with-gd=shared"
Server API ISAPI
Virtual Directory Support enabled
Configuration File (php.ini) Path C:\UnixPrograms \PHP\php.ini
PHP API 20041225
PHP Extension 20050922
Zend Extension 220051025
Debug Build no
Thread Safety enabled
Zend Memory Manager enabled
IPv6 Support enabled
Registered PHP Streams php, file, http, ftp, compress.zlib
Registered Stream Socket Transports tcp, udp
Registered Stream Filters convert.iconv.* , string.rot13,
string.toupper, string.tolower, string.strip_ta gs, convert.*, consumed,
zlib.*

Zend logo This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

PHP Credits
Configuration
PHP Core
Directive Local Value Master Value
allow_call_time _pass_reference Off Off
allow_url_fopen On On
always_populate _raw_post_data Off Off
arg_separator.i nput & &
arg_separator.o utput & &
asp_tags Off Off
auto_append_fil e no value no value
auto_globals_ji t On On
auto_prepend_fi le no value no value
browscap C:\WINDOWS\syst em32\inetsrv\br owscap.ini
C:\WINDOWS\syst em32\inetsrv\br owscap.ini
default_charset no value no value
default_mimetyp e text/html text/html
define_syslog_v ariables Off Off
disable_classes no value no value
disable_functio ns no value no value
display_errors On On
display_startup _errors On On
doc_root c:\inetpub\wwwr oot c:\inetpub\wwwr oot
docref_ext no value no value
docref_root no value no value
enable_dl On On
error_append_st ring no value no value
error_log no value no value
error_prepend_s tring no value no value
error_reporting 2047 2047
expose_php On On
extension_dir C:\UnixPrograms \PHP\ext C:\UnixPrograms \PHP\ext
file_uploads On On
highlight.bg #FFFFFF #FFFFFF
highlight.comme nt #FF8000 #FF8000
highlight.defau lt #0000BB #0000BB
highlight.html #000000 #000000
highlight.keywo rd #007700 #007700
highlight.strin g #DD0000 #DD0000
html_errors On On
ignore_repeated _errors Off Off
ignore_repeated _source Off Off
ignore_user_abo rt Off Off
implicit_flush Off Off
include_path .;C:\Inetpub\ww wroot\qcodo\inc ludes
..;C:\Inetpub\w wwroot\qcodo\in cludes
log_errors On On
log_errors_max_ len 1024 1024
magic_quotes_gp c Off Off
magic_quotes_ru ntime Off Off
magic_quotes_sy base Off Off
mail.force_extr a_parameters no value no value
max_execution_t ime 30 30
max_input_time 60 60
open_basedir no value no value
output_bufferin g 4096 4096
output_handler no value no value
post_max_size 8M 8M
precision 14 14
realpath_cache_ size 16K 16K
realpath_cache_ ttl 120 120
register_argc_a rgv Off Off
register_global s Off Off
register_long_a rrays Off Off
report_memleaks On On
report_zend_deb ug On On
safe_mode Off Off
safe_mode_exec_ dir no value no value
safe_mode_gid Off Off
safe_mode_inclu de_dir no value no value
sendmail_from no value no value
sendmail_path no value no value
serialize_preci sion 100 100
short_open_tag Off Off
SMTP smtp.ntlworld.c om smtp.ntlworld.c om
smtp_port 25 25
sql.safe_mode Off Off
track_errors Off Off
unserialize_cal lback_func no value no value
upload_max_file size 2M 2M
upload_tmp_dir no value no value
user_dir no value no value
variables_order GPCS GPCS
xmlrpc_error_nu mber 0 0
xmlrpc_errors Off Off
y2k_compliance On On
zend.ze1_compat ibility_mode Off Off

bcmath
BCMath support enabled

calendar
Calendar support enabled

com_dotnet
COM support enabled
DCOM support disabled
..Net support enabled

Directive Local Value Master Value
com.allow_dcom 0 0
com.autoregiste r_casesensitive 1 1
com.autoregiste r_typelib 0 0
com.autoregiste r_verbose 0 0
com.code_page no value no value
com.typelib_fil e no value no value

ctype
ctype functions enabled

curl
CURL support enabled
CURL Information libcurl/7.14.0 OpenSSL/0.9.8a zlib/1.2.3

date
date/time support enabled
Timezone Database Version 2006.1
Timezone Database internal
Default timezone Europe/London

Directive Local Value Master Value
date.default_la titude 31.7667 31.7667
date.default_lo ngitude 35.2333 35.2333
date.sunrise_ze nith 90.583333 90.583333
date.sunset_zen ith 90.583333 90.583333
date.timezone no value no value

dom
DOM/XML enabled
DOM/XML API Version 20031129
libxml Version 2.6.22
HTML Support enabled
XPath Support enabled
XPointer Support enabled
Schema Support enabled
RelaxNG Support enabled

ftp
FTP support enabled

hash
hash support enabled
Hashing Engines md4 md5 sha1 sha256 sha384 sha512 ripemd128 ripemd160
whirlpool tiger128,3 tiger160,3 tiger192,3 tiger128,4 tiger160,4
tiger192,4 snefru gost adler32 crc32 crc32b haval128,3 haval160,3
haval192,3 haval224,3 haval256,3 haval128,4 haval160,4 haval192,4
haval224,4 haval256,4 haval128,5 haval160,5 haval192,5 haval224,5 haval256,5

iconv
iconv support enabled
iconv implementation "libiconv"
iconv library version 1.9

Directive Local Value Master Value
iconv.input_enc oding ISO-8859-1 ISO-8859-1
iconv.internal_ encoding ISO-8859-1 ISO-8859-1
iconv.output_en coding ISO-8859-1 ISO-8859-1

ISAPI
Server Variable Value
CONTENT_LENGTH 0
PATH_TRANSLATED c:\inetpub\wwwr oot\PHPTest\inf o.php
REMOTE_ADDR 192.168.40.11
REMOTE_HOST 192.168.40.11
REQUEST_METHOD GET
SERVER_NAME agora
SERVER_PORT 80
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE Microsoft-IIS/6.0
APPL_MD_PATH /LM/W3SVC/1/ROOT
APPL_PHYSICAL_P ATH c:\inetpub\wwwr oot\
INSTANCE_ID 1
INSTANCE_META_P ATH /LM/W3SVC/1
URL /PHPTest/info.php
ALL_HTTP HTTP_CONNECTION :keep-alive HTTP_KEEP_ALIVE :300
HTTP_ACCEPT:tex t/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,ima ge/png,*/*;q=0.5
HTTP_ACCEPT_CHA RSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENC ODING:gzip,defl ate HTTP_ACCEPT_LAN GUAGE:en-gb,en;q=0.5
HTTP_COOKIE:php bb2mysql_data=a %3A2%3A%7Bs%3A1 1%3A%22autologi nid%22%3Bs%3A0% 3A%22%22%3Bs%3A 6%3A%22userid%2 2%3Bs%3A1%3A%22 2%22%3B%7D;
Fishbone-Style=Standard; SlimServer-player=8c%3A79% 3Aa8%3A57%3Ac8% 3A12;
findafoodieforu m_data=a%3A2%3A %7Bs%3A11%3A%22 autologinid%22% 3Bs%3A0%3A%22%2 2%3Bs%3A6%3A%22 userid%22%3Bs%3 A1%3A%222%22%3B %7D
HTTP_HOST:agora HTTP_USER_AGENT :Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-GB; rv:1.8.1) Gecko/20061010 Firefox/2.0
HTTPS off
SCRIPT_NAME /PHPTest/info.php
SERVER_PORT_SEC URE 0

libxml
libXML support active
libXML Version 2.6.22
libXML streams enabled

mysql
MySQL Support enabled
Active Persistent Links 0
Active Links 0
Client API version 5.0.21

Directive Local Value Master Value
mysql.allow_per sistent On On
mysql.connect_t imeout 60 60
mysql.default_h ost no value no value
mysql.default_p assword no value no value
mysql.default_p ort no value no value
mysql.default_s ocket no value no value
mysql.default_u ser no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persi stent Unlimited Unlimited
mysql.trace_mod e Off Off

mysqli
MysqlI Support enabled
Client API version 5.0.21
MYSQLI_SOCKET /tmp/mysql.sock

Directive Local Value Master Value
mysqli.default_ host no value no value
mysqli.default_ port 3306 3306
mysqli.default_ pw no value no value
mysqli.default_ socket no value no value
mysqli.default_ user no value no value
mysqli.max_link s Unlimited Unlimited
mysqli.reconnec t Off Off

odbc
ODBC Support enabled
Active Persistent Links 0
Active Links 0
ODBC library Win32

Directive Local Value Master Value
odbc.allow_pers istent On On
odbc.check_pers istent On On
odbc.default_db no value no value
odbc.default_pw no value no value
odbc.default_us er no value no value
odbc.defaultbin mode return as is return as is
odbc.defaultlrl return up to 4096 bytes return up to 4096 bytes
odbc.max_links Unlimited Unlimited
odbc.max_persis tent Unlimited Unlimited

pcre
PCRE (Perl Compatible Regular Expressions) Support enabled
PCRE Library Version 6.6 06-Feb-2006

Reflection
Reflection enabled
Version $Id: php_reflection. c,v 1.164.2.33 2006/03/29 14:28:42 tony2001
Exp $

session
Session Support enabled
Registered save handlers files user
Registered serializer handlers php php_binary wddx

Directive Local Value Master Value
session.auto_st art Off Off
session.bug_com pat_42 Off Off
session.bug_com pat_warn On On
session.cache_e xpire 180 180
session.cache_l imiter nocache nocache
session.cookie_ domain no value no value
session.cookie_ lifetime 0 0
session.cookie_ path / /
session.cookie_ secure Off Off
session.entropy _file no value no value
session.entropy _length 0 0
session.gc_divi sor 1000 1000
session.gc_maxl ifetime 1440 1440
session.gc_prob ability 1 1
session.hash_bi ts_per_characte r 5 5
session.hash_fu nction 0 0
session.name PHPSESSID PHPSESSID
session.referer _check no value no value
session.save_ha ndler files files
session.save_pa th no value no value
session.seriali ze_handler php php
session.use_coo kies On On
session.use_onl y_cookies Off Off
session.use_tra ns_sid 0 0

SimpleXML
Simplexml support enabled
Revision $Revision: 1.151.2.22 $
Schema support enabled

SPL
SPL support enabled
Interfaces Countable, OuterIterator, RecursiveIterat or,
SeekableIterato r, SplObserver, SplSubject
Classes AppendIterator, ArrayIterator, ArrayObject,
BadFunctionCall Exception, BadMethodCallEx ception, CachingIterator ,
DirectoryIterat or, DomainException , EmptyIterator, FilterIterator,
InfiniteIterato r, InvalidArgument Exception, IteratorIterato r,
LengthException , LimitIterator, LogicException, NoRewindIterato r,
OutOfBoundsExce ption, OutOfRangeExcep tion, OverflowExcepti on,
ParentIterator, RangeException, RecursiveArrayI terator,
RecursiveCachin gIterator, RecursiveDirect oryIterator,
RecursiveFilter Iterator, RecursiveIterat orIterator, RuntimeExceptio n,
SimpleXMLIterat or, SplFileInfo, SplFileObject, SplObjectStorag e,
SplTempFileObje ct, UnderflowExcept ion, UnexpectedValue Exception

standard
Regex Library Bundled library enabled
Dynamic Library Support enabled
Internal Sendmail Support for Windows enabled

Directive Local Value Master Value
assert.active 1 1
assert.bail 0 0
assert.callback no value no value
assert.quiet_ev al 0 0
assert.warning 1 1
auto_detect_lin e_endings 0 0
default_socket_ timeout 60 60
safe_mode_allow ed_env_vars PHP_ PHP_
safe_mode_prote cted_env_vars LD_LIBRARY_PATH LD_LIBRARY_PATH
url_rewriter.ta gs a=href,area=hre f,frame=src,inp ut=src,form=fak eentry
a=href,area=hre f,frame=src,inp ut=src,form=fak eentry
user_agent no value no value

tokenizer
Tokenizer Support enabled

wddx
WDDX Support enabled
WDDX Session Serializer enabled

xml
XML Support active
XML Namespace Support active
libxml2 Version 2.6.22

xmlreader
XMLReader enabled

xmlwriter
XMLWriter enabled

zlib
ZLib Support enabled
Stream Wrapper support compress.zlib://
Stream Filter support zlib.inflate, zlib.deflate
Compiled Version 1.2.3
Linked Version 1.2.3

Directive Local Value Master Value
zlib.output_com pression Off Off
zlib.output_com pression_level -1 -1
zlib.output_han dler no value no value

Additional Modules
Module Name

Environment
Variable Value
ALLUSERSPROFILE C:\Documents and Settings\All Users
ClusterLog C:\WINDOWS\Clus ter\cluster.log
CommonProgramFi les C:\Program Files\Common Files
COMPUTERNAME AGORA
ComSpec C:\WINDOWS\syst em32\cmd.exe
FP_NO_HOST_CHEC K NO
NUMBER_OF_PROCE SSORS 1
OS Windows_NT
Path C:\Perl\bin\;C: \Program Files\Windows Resource
Kits\Tools\;C:\ WINDOWS\system3 2;C:\WINDOWS;C: \WINDOWS\System 32\Wbem;C:\Prog ram
Files\Microsoft SQL Server\80\Tools \Binn\;C:\Progr am Files\Microsoft SQL
Server\90\DTS\B inn\;C:\Program Files\Microsoft SQL
Server\90\Tools \binn\;C:\Progr am Files\Microsoft SQL
Server\90\Tools \Binn\VSShell\C ommon7\IDE\;C:\ Program
Files\cwRsync\b in;C:\UnixProgr ams\Sendmail;C: \UnixPrograms\b in;C:\Program
Files\MySQL\MyS QL Server 5.0\bin;C:\Unix Programs\PHP
PATHEXT .COM;.EXE;.BAT; .CMD;.VBS;.VBE; .JS;.JSE;.WSF;. WSH
PROCESSOR_ARCHI TECTURE x86
PROCESSOR_IDENT IFIER x86 Family 6 Model 7 Stepping 3, GenuineIntel
PROCESSOR_LEVEL 6
PROCESSOR_REVIS ION 0703
ProgramFiles C:\Program Files
SystemDrive C:
SystemRoot C:\WINDOWS
TEMP C:\WINDOWS\TEMP
TMP C:\WINDOWS\TEMP
USERPROFILE C:\Documents and Settings\Defaul t User
windir C:\WINDOWS

PHP Variables
Variable Value
_REQUEST["phpbb2mysql_da ta"]
a:2:{s:11:"auto loginid";s:0:"" ;s:6:"userid";s :1:"2";}
_REQUEST["Fishbone-Style"] Standard
_REQUEST["SlimServer-player"] 8c:79:a8:57:c8: 12
_REQUEST["findafoodiefor um_data"]
a:2:{s:11:"auto loginid";s:0:"" ;s:6:"userid";s :1:"2";}
_COOKIE["phpbb2mysql_da ta"]
a:2:{s:11:"auto loginid";s:0:"" ;s:6:"userid";s :1:"2";}
_COOKIE["Fishbone-Style"] Standard
_COOKIE["SlimServer-player"] 8c:79:a8:57:c8: 12
_COOKIE["findafoodiefor um_data"]
a:2:{s:11:"auto loginid";s:0:"" ;s:6:"userid";s :1:"2";}
_SERVER["ALL_HTTP"] HTTP_CONNECTION :keep-alive HTTP_KEEP_ALIVE :300
HTTP_ACCEPT:tex t/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,ima ge/png,*/*;q=0.5
HTTP_ACCEPT_CHA RSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENC ODING:gzip,defl ate HTTP_ACCEPT_LAN GUAGE:en-gb,en;q=0.5
HTTP_COOKIE:php bb2mysql_data=a %3A2%3A%7Bs%3A1 1%3A%22autologi nid%22%3Bs%3A0% 3A%22%22%3Bs%3A 6%3A%22userid%2 2%3Bs%3A1%3A%22 2%22%3B%7D;
Fishbone-Style=Standard; SlimServer-player=8c%3A79% 3Aa8%3A57%3Ac8% 3A12;
findafoodieforu m_data=a%3A2%3A %7Bs%3A11%3A%22 autologinid%22% 3Bs%3A0%3A%22%2 2%3Bs%3A6%3A%22 userid%22%3Bs%3 A1%3A%222%22%3B %7D
HTTP_HOST:agora HTTP_USER_AGENT :Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-GB; rv:1.8.1) Gecko/20061010 Firefox/2.0
_SERVER["HTTPS"] off
_SERVER["SCRIPT_NAM E"] /PHPTest/info.php
_SERVER["HTTP_COOKI E"]
phpbb2mysql_dat a=a%3A2%3A%7Bs% 3A11%3A%22autol oginid%22%3Bs%3 A0%3A%22%22%3Bs %3A6%3A%22useri d%22%3Bs%3A1%3A %222%22%3B%7D;
Fishbone-Style=Standard; SlimServer-player=8c%3A79% 3Aa8%3A57%3Ac8% 3A12;
findafoodieforu m_data=a%3A2%3A %7Bs%3A11%3A%22 autologinid%22% 3Bs%3A0%3A%22%2 2%3Bs%3A6%3A%22 userid%22%3Bs%3 A1%3A%222%22%3B %7D
_SERVER["AUTH_PASSW ORD"] no value
_SERVER["AUTH_TYPE"] no value
_SERVER["AUTH_USER"] no value
_SERVER["CONTENT_LENGTH "] 0
_SERVER["CONTENT_TY PE"] no value
_SERVER["PATH_TRANSLATE D"] c:\inetpub\wwwr oot
_SERVER["QUERY_STRI NG"] no value
_SERVER["REMOTE_ADD R"] 192.168.40.11
_SERVER["REMOTE_HOS T"] 192.168.40.11
_SERVER["REMOTE_USE R"] no value
_SERVER["REQUEST_METHOD "] GET
_SERVER["SERVER_NAM E"] agora
_SERVER["SERVER_POR T"] 80
_SERVER["SERVER_PROTOCO L"] HTTP/1.1
_SERVER["SERVER_SOFTWAR E"] Microsoft-IIS/6.0
_SERVER["APPL_MD_PA TH"] /LM/W3SVC/1/ROOT
_SERVER["APPL_PHYSICAL_ PATH"] c:\inetpub\wwwr oot\
_SERVER["INSTANCE_I D"] 1
_SERVER["INSTANCE_META_ PATH"] /LM/W3SVC/1
_SERVER["LOGON_USER "] no value
_SERVER["REQUEST_UR I"] /PHPTest/info.php
_SERVER["URL"] /PHPTest/info.php
_SERVER["SCRIPT_FILENAM E"] c:\inetpub\wwwr oot/PHPTest/info.php
_SERVER["ORIG_PATH_INFO "] /PHPTest/info.php
_SERVER["PATH_INFO"] no value
_SERVER["ORIG_PATH_TRAN SLATED"] c:\inetpub\wwwr oot\PHPTest\inf o.php
_SERVER["DOCUMENT_R OOT"] c:\inetpub\wwwr oot
_SERVER["PHP_SELF"] /PHPTest/info.php
_SERVER["HTTP_CONNECTIO N"] keep-alive
_SERVER["HTTP_KEEP_ALIV E"] 300
_SERVER["HTTP_ACCEP T"]
text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,ima ge/png,*/*;q=0.5
_SERVER["HTTP_ACCEPT_CH ARSET"] ISO-8859-1,utf-8;q=0.7,*;q=0.7
_SERVER["HTTP_ACCEPT_EN CODING"] gzip,deflate
_SERVER["HTTP_ACCEPT_LA NGUAGE"] en-gb,en;q=0.5
_SERVER["HTTP_HOST"] agora
_SERVER["HTTP_USER_AGEN T"] Mozilla/5.0 (Windows; U; Windows NT 5.1;
en-GB; rv:1.8.1) Gecko/20061010 Firefox/2.0
_SERVER["REQUEST_TI ME"] 1162839245

Nov 6 '06 #9
Michael Windsor wrote:
[...]
session
[...]
Directive Local Value Master Value
[...]
session.save_pa th no value no value
[...]

I believe `session.save_p ath` is your problem.
If there's no value for it, PHP will use "/tmp". Do you have a "C:\tmp"
directory on your disk?

Try changing php.ini and specify an existing directory for the
session.save_pa th entry, or create a "C:\tmp" directory.

Or do it within a test script first:

<?php
# session_save_pa th('C:/WINDOWS/TEMP');
session_save_pa th('C:\\WINDOWS \\TEMP');
session_start() ;

if (rand(0, 1)) {
echo "Using copy of the \$_SESSION array...<br>\n" ;
$COPY_SESSION = $_SESSION;
if (rand(0, 1)) {
echo "and not copying it back.<br>\n";
} else {
$_SESSION = $COPY_SESSION;
}
if (!isset($_SESSI ON['count'])) {
$_SESSION['count'] = 0;
}
$val = ++$_SESSION['count'];

} else {

if (!isset($_SESSI ON[çount'])) {
$_SESSION['count'] = 0;
}
$val = ++$_SESSION['count'];
}

echo "Current value is $val.<br>\n";
?>

--
I (almost) never check the dodgeit address.
If you *really* need to mail me, use the address in the Reply-To
header with a message in *plain* *text* *without* *attachments*.
Nov 6 '06 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
5736
by: Philip D Heady | last post by:
Ok, I have this form that does a $PHP_SELF post, goes through error checking, then redirects to loc( ); I am setting a session as follows: if(!session_id()) { session_start(); $sid = $PHPSESSID; }
0
2478
by: Phil Powell | last post by:
What is the most standardized method of utilizing the CURL functions in PHP (version 4.3.2) to be able to retrieve the contents of a remote URL that happens to be dependent upon $_SESSION for its content display? I've tried the following class methods for display and I have most everything working until I get to a URL that requires $_SESSION: class Timer extends View {
5
1853
by: h | last post by:
I am at my wits end; I can not see A SINGLE THING I'm doing wrong. I've read every fricking session related doc. I've searched every fricking group. NO ONE seems to have had the problem I'm having - and it doesn't make ANY sense. I'm running php 4.3.3 on a local server; and 4.3.10 on my isp's web server. I've tested this on both with the same results.
21
3053
by: axlq | last post by:
Someone please tell me if I've discovered a PHP bug. I'm sitting in front of several computers on my home network, behind a NAT firewall/router. I am testing my web site on these different computers (running different browsers, logged in as different users, etc.). My web site keeps track of users logged in through the use of $_SESSION. Here's the bizarre thing: All computers are logged off, then I log into my web site with one...
4
2047
by: Pseudonyme | last post by:
Dear Sirs and Madams, Receive as information that storing a MYSQL result under $_SESSION was accelerating web page displays processes ? Absolutly needed but impossible to get this working ! I try, but do not succeed in implement $_SESSION with MYSQL. <?php session_start();
2
2262
by: sharonDonnelly | last post by:
Hi Really dumb problem that's got me beat. Can someone help. The prolem: I'm trying to count the number of times an item has been clicked. There are many items. I want to create a session variable for each item as its clicked, and increment the value held by the session variable by 1 each time that item is clicked. My plan was to allow an item to be selected on one page - when a user selects an item, a numeric value will be passed to a...
7
3357
by: Deccypher | last post by:
Hi Im trying to do something a little more complex with my login script at the moment it works fine, checks the username and password with the database if its wrong it echo's a error and if its right redirects the user to the main page with the session variable logged_in = true but what i have done now is added more feileds into the user table name company email ect. what i want to do is on successful login pull the users information and...
12
1981
by: jodleren | last post by:
Hi I did not notice. A system I have made, seems on one server to keep the $_SESSION even when the browser has been closed... How can I avoid that? WBR Sonnich
3
2176
by: JRough | last post by:
I want to save two variables in a $_SESSION for use in another page: $_SESSION = $mark; $_SESSION = $num; then on the other page I did this to get the value: $mark =$_SESSION; $num = $_SESSION;
0
8842
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8740
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8513
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
7352
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
5642
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4173
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4330
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
2742
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
1733
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.