php on apache - is it possible to change session on a running request from another?
Hi!
I think I'll have to create a php script that will generate a stream (sound) to be played on the client.... the thing is that the script has to generate content according to some variables that should be able to be modified by interacting on the client side.... so I want to know if it's possible to see a change on $_SESSION after the script is running if I change a it from another script/request. In case it's not possible, what are the options for some kind of IPC of this kind? Thanks in advance. |
According your plans, how long (in seconds/minutes/hours) your sound-stream-creating PHP script will be running?
|
Seconds, minutes.
|
And during that time you want to interact with the running PHP-script?
(Note: I'm not sure Apache will allow your PHP to run for minutes) |
Yes, in a utopic world i should be able to change its behavior by using some kind of ipc.
|
And who is the other party in the IPC?
|
Another script that is responding to a request from the client.
|
Hi
When one script is running with a started session, other scripts with the same session id will wait until the first is finished. So it can't be done with $_SESSION. But it can be done. The content sending script should do a "session_write_close" in the beginning. Then $_SESSION is still available, but read only. This will allow other scripts with the same session id to run. It then has to check something shared every now and act when it sees the changes. The "shared" can be many things. You could use regular files, like $_SESSION does by default. Or a database. Or you can use shared memory. I think a simple file in /tmp would probably be the easiest. The filename could be generated with tempnam() and stored in $_SESSION. http://www.php.net/manual/en/book.shmop.php http://www.php.net/manual/en/book.sem.php |
I'll take a look. Thanks
|
All times are GMT -5. The time now is 06:17 AM. |