PHP 4.0 Bug #4576: script output stops after session_start()
| From: | olivier dot sessink at guest dot pk dot wau dot nl | Date: | Wed, 24 May 2000 13:06:45 +0000 |
| Subject: | PHP 4.0 Bug #4576: script output stops after session_start() | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-19385@lists.php.net to get a copy of this message | ||
From: olivier.sessink@guest.pk.wau.nl
Operating system: win NT 4.00.1381, IIS 4.0
PHP version: 4.0.0 Release
PHP Bug Type: Session related
Bug description: script output stops after session_start()
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]
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
session.name = 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 = fbt.eitn.wau.nl ; 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
bye,
Olivier Sessink