Ik zit met een aantal vragen die zich centreren rondom de wijze waarop PHP concurrency regelt.
Op grond van de handleiding krijg ik de indruk dat het sessie model van PHP zo is dat aan het begin van een request PHP kijkt of er een session-ID is en vervolgens in het session-path kijkt of daar session-data staat die correspondeert met dat session-ID. Als dat zo is wordt die session-data ingelezen, deserialized en beschikbaar gemaakt. Aan het eind van een request wordt de session-data dan serialized en weggeschreven.
Als ik dat goed heb begrepen dan zou dat impliceren dat sessies van gelijktijdig draaiende requests niet gesynchroniseerd zijn en elkaars intermediate states niet beinvloeden. (Voorbeeld: sessie variabele X = 0, loopje in ene request dat in 10 stapjes van 1 optelt naar x = 10 zal in een ander request alleen zichtbaar zijn als 0 of 10, de stapjes 1-9 zullen nooit zichtbaar zijn in een ander request.)
Is er bekend met een referentie (anders dan de source) die deze interpretatie kan bevestigen en/of ontkrachten?
Een ander aspect van deze vraag is wat de consequenties van het wel of niet koppelen van concurrent requests zijn voor singletons. Betekent dit dat een singleton standaard niet per server is, maar per request?
En om het geheel compleet te maken de vraag of het daarbij nog verschil maakt of PHP gedraaid wordt als mod_php of als CGI applicatie en of PHP 4 en 5 nog verschillen?
Op grond van de handleiding krijg ik de indruk dat het sessie model van PHP zo is dat aan het begin van een request PHP kijkt of er een session-ID is en vervolgens in het session-path kijkt of daar session-data staat die correspondeert met dat session-ID. Als dat zo is wordt die session-data ingelezen, deserialized en beschikbaar gemaakt. Aan het eind van een request wordt de session-data dan serialized en weggeschreven.
Als ik dat goed heb begrepen dan zou dat impliceren dat sessies van gelijktijdig draaiende requests niet gesynchroniseerd zijn en elkaars intermediate states niet beinvloeden. (Voorbeeld: sessie variabele X = 0, loopje in ene request dat in 10 stapjes van 1 optelt naar x = 10 zal in een ander request alleen zichtbaar zijn als 0 of 10, de stapjes 1-9 zullen nooit zichtbaar zijn in een ander request.)
Is er bekend met een referentie (anders dan de source) die deze interpretatie kan bevestigen en/of ontkrachten?
Een ander aspect van deze vraag is wat de consequenties van het wel of niet koppelen van concurrent requests zijn voor singletons. Betekent dit dat een singleton standaard niet per server is, maar per request?
En om het geheel compleet te maken de vraag of het daarbij nog verschil maakt of PHP gedraaid wordt als mod_php of als CGI applicatie en of PHP 4 en 5 nog verschillen?