embed sapi module and multi-threading
| From: | Bas van Beek | Date: | Thu, 12 Mar 2009 16:25:32 +0000 |
| Subject: | embed sapi module and multi-threading | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-43331@lists.php.net to get a copy of this message | ||
Hi,
For a project of mine I had to have an embedded webserver with php support. For this I've used the boost::asio multi-threaded example as a base and modified it so I could enable php scripting support. The first, logical and fast thing to do was to try out the embed sapi module but I found it to hang on concurrent php_embed_init calls.
The biggest issue I found was that the embedded module bundles sapi module startup and request startup. I ended up writing my own SAPI module as I also needed full support for POST methods, URL queries, etc. but I can imagine people being interested in having an embedded sapi which separates module startup/shutdown and request startup/shutdown so concurrency works together with being able to have separate request environments for each thread.
Separating these calls would allow for the following:
At program startup initialize the php environment
At each thread startup initialize a php request environment
With a few minor alterations I could convert my specific sapi module or current embed module to a generic embed-mt multithread capable module.
Would this be something that you are interested in?
kind regards,
Bas van Beek