CGI and FastCGI SAPI
| From: | Gelu Kelunden | Date: | Wed, 01 Jul 2009 18:02:06 +0000 |
| Subject: | CGI and FastCGI SAPI | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-44585@lists.php.net to get a copy of this message | ||
Hi,
I'm trying to understand how difficult it is to create a new SAPI, so I started to poke my nose inside the "cgi" SAPI source code. I saw that "cgi_main.c" implements both the CGI and the FastCGI protocols and I kinda got lost inside all those if-else lines (I tried to take out the FastCGI code and failed miserably). I'm wondering if it's not better to have 2 different SAPIs, one for CGI and for FastCGI.
Advantages of this "split" would be:
- the source code will be more readable without all those if-else statements
- we would have 2 executables that do 2 different jobs, unlike now where php-cgi does both; each executable could then be further optimized for the exact job they are performing
Disadvantages I see:
- maintaning 2 SAPI implementaion would require more work (since CGI and FastCGI both share most of the SAPI code, any change would have to be replicated twice)
- break backward compatibility (where php-cgi handles both CGI and FastCGI)
Thank you for your time,
Gelu