php-windows Digest 14 Feb 2008 09:48:10 -0000 Issue 3426
Topics (messages 28788 through 28788):
Re: Concurrency issue on session file on harddisk
28788 by: Eric Colinet
Administrivia:
To subscribe to the digest, e-mail:
[EMAIL PROTECTED]
To unsubscribe from the digest, e-mail:
[EMAIL PROTECTED]
To post to the list, e-mail:
[EMAIL PROTECTED]
----------------------------------------------------------------------
--- Begin Message ---
Hi,
To quickly solve your problem, can't you just load a dummy HTML page (without
the PHP extension if possible) in each frame that display nothing but "please
wait..." and reload itself with a meta-refresh tag at different interval (say
1, 2 and 3 seconds)?
For the "real" problem, you should triple-check the rights on the D:\PHPTemp
directory for the IIS user (is it on of the owner?). Also check that your D: is
a local FAT32 or NTFS volume.
To experiment, you could check that using the PHP's flock function works as
expected.
Eric
-----Message d'origine-----
De : Stephan Weiher [mailto:[EMAIL PROTECTED]
Envoyé : mercredi 13 février 2008 13:04
À : [EMAIL PROTECTED]
Objet : Re: [PHP-WIN] Concurrency issue on session file on harddisk
This was one of our first tries to solve the problem. Since session_start()
is called in the index.php containing the frameset declaration, php.exe
accesses the session file from both frames BEFORE processing any code out of
it. So a delay contruct will only be processed when session file access is
done :(
Greetings
Stephan Weiher
""Michael Southworth"" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
news:[EMAIL PROTECTED]
>I should preface this by saying it has been a while since I have used php
> extensively, but my suggestion would be to try putting in a delay at the
> beginning of your PHPfile, before the session_start() command (or
> whichever
> method you choose to begin your session). As far as I can recall, the
> session needs to be initialized before any output is sent to the browser,
> but this does not mean you cannot execute a php code delay before you
> start
> the session. This may give you enough time for the other PHP request to
> complete, freeing up the required file.
>
> A potentially more robust, but equally untested option, would be to check
> the file itself before initializing the session. The session_id will be
> available in the super variables or via session_id(). Since the file names
> for a given session are based predictably on this id, you could
> potentially
> try to do a read access on the file. If this fails, poll and try again or
> timeout and fail gracefully. I am not very familiar with how the
> permissions
> on this would play out though.
>
> Those are two suggestions I could think of, hope that helps,
> -Michael Southworth
>
> On Feb 13, 2008 8:15 AM, Stephan Weiher <[EMAIL PROTECTED]> wrote:
>
>> Thanks for the answer but this won't help us anyway. We cannot enable
>> javascript on any computer in the company's network to make this issue
>> going
>> away. I'll need a way to delay the requests for one of the two frames
>> (defined in the frameset) for a tiny amount of time to prevent two
>> php.exe
>> instances from accessing the session file at the same time. But I don't
>> know
>> how to do so. Javascript is no option for us and as far as I know HTML
>> has
>> no such mechanism. So I need another way. Perhaps sth. that delays the
>> call
>> of php.exe - but I/O must work on this way :)
>>
>> Greetings
>> Stephan Weiher
>>
>>
>>
>> ""Jacob Kruger"" <[EMAIL PROTECTED]> schrieb im Newsbeitrag
>> news:[EMAIL PROTECTED]
>> >A 'corny' workaround might be to get something like the nav frame in
>> >fact
>> >to
>> > then load the main frame using something like JavaScript - just a
>> > thought -
>> > since it would in fact first have rendered before the main frame was
>> > loaded.
>> >
>> > You could then also put something like a 'waiting...' notice/string in
>> the
>> > main frame in case one or two people's machines in fact rendered/loaded
>> > the
>> > two frames in the wrong order.
>> >
>> > Stay well
>> >
>> > Jacob Kruger
>> > Blind Biker
>> > Skype: BlindZA
>> > '...Fate had broken his body, but not his spirit...'
>> >
>> > ----- Original Message -----
>> > From: "Stephan Weiher" <
>> > [EMAIL PROTECTED]>
>> > To: <
>> > [EMAIL PROTECTED]>
>> > Sent: Tuesday, February 12, 2008 12:06 PM
>> > Subject: [PHP-WIN] Concurrency issue on session file on harddisk
>>
>> --
>> PHP Windows Mailing List (http://www.php.net/)
>> To unsubscribe, visit: http://www.php.net/unsub.php
>>
>>
>
--
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--- End Message ---