|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #4576 script output stops after session_start()
Submitted: 2000-05-24 15:06 UTC Modified: 2000-07-26 00:43 UTC
From: olivier dot sessink at guest dot pk dot wau dot nl Assigned:
Status: Closed Package: Session related
PHP Version: 4.0.0 Release OS: win NT 4.00.1381, IIS 4.0
Private report: No CVE-ID: None
 [2000-05-24 15:06 UTC] olivier dot sessink at guest dot pk dot wau dot nl
Using the ISAPI module (php 4.0.0) we can't get sessions working. The php4 on Debian Linux is 100% stable but the win32 version seems to be still buggy.

First a documentation problem: the errorlog reported it couldn't save the session files. It turns out the session path needs to be on the same drive as the documentroot. ( c:\tmp\ as session save path doesn't work when the documentroot is on f:, only after creating f:\tmp\ we saw session files created).

The config file reads (the c:\ is the session.save_path is NOT USED, it places the files in f:\tmp2\ !!!!!):

session.save_handler      = files    ;handler used to store/retrieve data
session.save_path         = c:\tmp2\    ; argument passed to save_handler
                                    ; in the case of files, this is the
                                    ; path where data files are stored
session.use_cookies       = 1       ; whether to use cookies              = PHPSESSID  
                                    ; name of the session
                                    ; is used as cookie name
session.auto_start        = 0       ; initialize session on request startup
session.cookie_lifetime   = 0       ; lifetime in seconds of cookie
                                    ; or if 0, until browser is restarted
session.cookie_path       = /       ; the path the cookie is valid for
session.cookie_domain     =  ; the domain the cookie is valid for
session.serialize_handler = php     ; handler used to serialize data
                                    ; php is the standard serializer of PHP
session.gc_probability    = 1       ; percentual probability that the 
                                    ; 'garbage collection' process is started
                                    ; on every session initialization
session.gc_maxlifetime    = 1440    ; after this number of seconds, stored
                                    ; data will be seen as 'garbage' and
                                    ; cleaned up by the gc process
session.referer_check     = 0        ; check HTTP Referer to invalidate 
                                    ; externally stored URLs containing ids
session.entropy_length    = 0       ; how many bytes to read from the file
session.entropy_file      =         ; specified here to create the session id
; session.entropy_length    = 16
; session.entropy_file      = /dev/urandom
session.cache_limiter     = nocache ; set to {nocache,private,public} to
                                    ; determine HTTP caching aspects
session.cache_expire      = 180     ; document expires after n minutes

But all output after session_start() is gone (the cookie is send, but that's about it), and session files are created but are empty. The eventlog shows:

The HTTP server encountered an unhandled exception while processing the ISAPI Application '
php4isapi!HttpExtensionProc + 0x394
wam!SE_TABLE::ReleaseExtension(class HSE_BASE *) + 0x526
wam!SE_TABLE::ReleaseExtension(class HSE_BASE *) + 0x1313
wam!SE_TABLE::ReleaseExtension(class HSE_BASE *) + 0x11A8
w3svc!IIS_SERVER_INSTANCE::QueryServerSize(void)const  + 0xC8
w3svc!PARAM_LIST::CanonList(void) + 0x2BE8
w3svc!HTTP_REQ_BASE::BuildURLMovedResponse(class BUFFER *,class STR *,unsigned long,int) + 0x377E
w3svc!HTTP_REQ_BASE::BuildURLMovedResponse(class BUFFER *,class STR *,unsigned long,int) + 0x36EE
w3svc!HTTP_REQ_BASE::TestConnection(void) + 0xA42
w3svc!ScanForTerminator(char const *) + 0x386
w3svc!HTTP_REQ_BASE::CheckForBasicAuthenticationHeader(char *) + 0x30FC
w3svc!HTTP_REQ_BASE::CheckForBasicAuthenticationHeader(char *) + 0x3094
ISATQ!_AtqPostCompletionStatus@8 + 0x645
ISATQ!_AtqPostCompletionStatus@8 + 0x862
KERNEL32!lstrcmpiW + 0xBE

Changing the handler to 'mm' didn't work as well, we didn't even got a cookie anymore. Using the php.exe also doesn't work. It does work in a dos box, but using a handler for .php4 being 'c:\php\php.exe %s %s' it returns no output and finally causes a timeout error on the server. Is the '%s %s' still needed?

any help is very much appreciated

       Olivier Sessink


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2000-07-26 00:43 UTC]
Please try a recent release of PHP.  If the problem still occurs, please submit a new bug report.  Also note that the ISAPI version is not as robust as the CGI version.
PHP Copyright © 2001-2022 The PHP Group
All rights reserved.
Last updated: Mon Oct 03 06:05:53 2022 UTC