Bug #8989 Updated: Bug#5493 resurfaced
| From: | fseesink at usa dot net | Date: | Thu, 23 Aug 2001 16:30:17 +0000 |
| Subject: | Bug #8989 Updated: Bug#5493 resurfaced | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-64176@lists.php.net to get a copy of this message | ||
ID: 8989
User updated by: fseesink@usa.net
Reported By: fseesink@usa.net
Status: Open
Bug Type: Session related
Operating System: Windows NT 4 SP5(IIS4)/2000 SP2
PHP Version: 4.0.6
New Comment:
Any update on the PHP session problems in v4.0.4+? I've received several e-mails from people
saying they're experiencing similar results, but apparently they can't post to this
problem. Just curious. It's been a couple of months, so thought I'd ask.
Also, any way for people to still get a copy of PHP v4.0.3pl1? I've had a few ask me, and
noticed php.net only goes back to 4.0.4 now.
Previous Comments:
------------------------------------------------------------------------
[2001-07-02 15:01:16] fseesink@usa.net
Configured Win2K/IIS5 for PHP v4.0.6 ISAPI module.
Took appropriate steps to shutdown & restart server (net stop iisadmin, net start w3svc). Issue
exists in ISAPI module as well.
Then configured same box for PHP v4.0.3pl1 ISAPI module. Same problem exists there as well.
The last version of PHP that performs sessions correctly under Windows is the v4.0.3pl1 CGI edition.
If you can find others to validate that newer versions work properly using the script I provided,
I'm open to suggestions. I had this issue under Windows NT4/IIS4, now still with Win2K/IIS5.
I do not believe it to be an isolated case.
If anyone else is reading this bug report experiencing similar problems, please post so the
developers will know.
------------------------------------------------------------------------
[2001-07-02 14:30:28] fseesink@usa.net
Configured Windows 2000/IIS 5 webserver with PHP v4.0.6 CGI (disabled Zend Optimizer, etc.). Tried
accessing the page1.php-page4.php test I provided earlier. Used Netscape v4.77 & IE 5.5SP1 for
Windows 2000, as well as Konqueror 2.1.1 & Netscsape 4.76 under KDE on Red Hat Linux 7.1. All
browsers have cookies enabled.
In all cases, initial session file is created with variable values stored properly. But as you move
through the pages, new session files are generated (effectively different session IDs), with all
session files after the 1st being 0 bytes. In short, session not maintained.
Again, this issue existed prior to PHP v4.0.2. The Windows version of PHP CGI v4.0.2 - v4.0.3pl1
(the latter being what I still use today) all performed properly. With v4.0.4, problem resurfaced
and has remained.
I don't know if there is a way to see what changes were made from 4.0.1pl1 -> 4.0.2 and then
4.0.3pl1 -> 4.0.4 and if any changes were accidentally undone.
------------------------------------------------------------------------
[2001-07-02 00:39:36] fseesink@usa.net
>1. Only person using hostile tone around here is you.
Do you even READ what you write and consider how it sounds? I disagree with your opinion, but no
point discussing it with you. Let's just stick to bug hunting.
>2. This is a BUG database, not a discussion forum.
Good point. That's why I posted here what I wrote for both this problem and its earlier
incarnation, #5493. And if you bothered to read the postings, you would've found all the
answers to your questions.
I didn't post a bug with the idea to have the bug dismissed without validation, as #5493 was
(by you as well, sniper). And to point out something, I only became aware of this last post of
yours when I visited the website. I was NOT sent an e-mail of this last post. This is exactly how
#5493 died. I only learned of it later. Luckily I decided to check the site, or this problem may
have died as the last...without proper resolution.
>3. Did you or did you not try my short example script??
> Does the number get higher or does it always give you an
> error message when you reload the page?
Oops, that one IS my goof. I looked at my last post and saw that I didn't spell it out very
well.
Yes, I ran your example script.
Yes, the number gets higher.
But again, this is NOT what the bug report was about.
>4. Is the session cookie set at all? Does this happen with any
> browser?
Yes, the session cookie is set initially. In your example script, it works fine. In my example
scripts, new session files are generated over time as you cycle thru the links. See bug #5493 for
more details.
The only browsers I have handy are IE 5.5SP1 & Netscape 4.77 running on Windows 2000. I'll
double-check in the morning, but I believe it occurs regardless of browser. Will see if I can get
confirmation from other browsers such as Konqueror. May take a day or two.
>5. What is the value for register_globals in your php.ini?
register_globals = ON
FINAL NOTES:
1. On http://www.php.net/bugs.php displayed all OPEN bugs
of type SESSION RELATED. Problem #8989 was not listed. Should this be reported as a separate
problem with the site, and if so, what is the appropriate category? (Display done multiple times
with same result.)
2. Last posting
"[2001-06-27 11:26:13] sniper@php.net"
was NOT e-mailed to me by the system. Again, should this be reported as a separate problem with the
site, and if so, what is the appropriate category? I would like to make sure I receive your
postings so that I can be sure to reply in a timely manner.
------------------------------------------------------------------------
[2001-06-27 11:26:13] sniper@php.net
1. Only person using hostile tone around here is you.
2. This is a BUG database, not a discussion forum.
3. Did you or did you not try my short example script??
Does the number get higher or does it always give you
an error message when you reload the page?
4. Is the session cookie set at all? Does this happen with any browser?
5. What is the value for register_globals in your php.ini?
--Jani
------------------------------------------------------------------------
[2001-06-26 12:36:01] fseesink@usa.net
That's very nice. But that is not what this bug report was about.
PHP v4.x has always been able to initially create a session variable. The challenge is NOT within a
single page. The problem, as clearly described in earlier postings of both this problem and an
earlier problem (see #5493 for source used), is the maintenance of session variables BETWEEN
pages...the whole POINT of using session variables (i.e., maintaining state, vs. the stateless
nature of HTTP). And note, before giving another trite example, that I provided source for you to
use. But just in case you did not read this actual problem in its entirety, here's the
breakdown once more:
1. Create the file page1.php as follows:
__________________________________________________
<?
session_start();
if (!$PHPSESSID) {
$userid=100;
$firstaccess=time();
$lastaccess=time();
session_register("userid");
session_register("firstaccess");
session_register("lastaccess");
}
$lastaccess = time();
?>
<HTML>
<HEAD>
<TITLE>Page 1</TITLE>
</HEAD>
<BODY>
This is page 1.<br>
<?
echo "\$PHPSESSID = '$PHPSESSID'<br>";
echo "\$userid = '$userid'<br>";
echo "\$firstaccess = '$firstaccess'<br>";
echo "\$lastaccess = '$lastaccess'<p>";
?>
<A HREF="page2.php">Page 2</A>.<p>
</BODY>
</HTML>
__________________________________________________
2. Create files page2.php, page3.php, & page4.php, copying the code above. The only changes
that needs to be made are to change the <TITLE> for each file as appropriate, the one line
(though this was superflous), and the <A HREF> tag so that essentially
PAGE1.PHP -> PAGE2.PHP -> PAGE3.PHP -> PAGE4.PHP -> PAGE1.PHP
thus creating a loop that cycles around the 4 pages.
3. Make sure the PHP.INI file is properly configured to store session files (for this example,
\InetPub\sessions). Then either open a Command Prompt to this directory or use Explorer (whatever
suits you).
4. Serving these files from IIS (say \InetPub\wwwroot), load page1.php.
5. Look in the session directory. You should see a session file created. Note its size (60 bytes
in this case).
6. Now start clicking on the link on page1.php. This will load page2.php, which shows the current
value of the session ID. Keep clicking on the links and keep watching the session directory.
What you will find is that new session files are being created, session files that are 0 bytes and
contain NOTHING. This is a serious problem. It's makes session management useless in PHP
under Windows.
Hopefully it's isolated to just the Winblows world using IIS. Unfortunately, that's the
environment I work in, and since PHP is offered, I provide feedback and bug reports whenever I run
into such problems.
Maybe I come across as a bit brusk, but truth be told, the manner in which you write, sniper,
demonstrates at best a lack of tact and awareness of the impact your choice of words has, and at
worst it demonstrates a serious lack of social skills and a beligerent nature not conducive to
software development. Each time you write you indicate that you haven't bothered to READ the
bug report and really know what the problem is. I think I've done a reasonable job of
detailing EXACTLY how to duplicate what I have done. I did not just write "Sessions suck. Fix
it." If you had read it, you might not have written that last response.
I realize this is an open source project, and PHP, like Apache and all other such projects rely on
the hard work of many committed people who sacrifice time, energy, and effort to make it the best
damn server side scripting language I've seen. It's clean, it runs well, and (except for
this bug which was squashed, then resurfaced and has persisted through 4 revisions now) is pretty
rock solid. And so don't misunderstand. I do sincerely appreciate all the
time/energy/effort/etc. you and everyone on the PHP team put forth.
However, the tonality of your words in repeated messages has come across as beligerent, compative,
hostile, and appears based on a lack of understanding of the bug report. Maybe that is not truly
the case. Maybe you're just a damn fine programmer but suck at writing skills. We all have
our strong & weak points. But the words you have chosen, and the comments you have put forth
(like the last message which really shows you misunderstand the bug being reported) don't
exactly endear you. And this appearance of being hostile is NOT something anyone, including myself,
should have to tolerate when all I am trying to do is help you to pinpoint a bug so you can fix it.
So, with that said, let's see if we can't put this bug to bed once and for all.
That's what this is all about, isn't it? Working together against a common foe: the
software bug.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/?id=8989
Edit this bug report at http://bugs.php.net/?id=8989&edit=1