Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:45533 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 42942 invoked from network); 9 Sep 2009 07:43:38 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Sep 2009 07:43:38 -0000 Authentication-Results: pb1.pair.com smtp.mail=jani.taskinen@iki.fi; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=jani.taskinen@iki.fi; sender-id=unknown Received-SPF: error (pb1.pair.com: domain iki.fi from 204.13.248.72 cause and error) X-PHP-List-Original-Sender: jani.taskinen@iki.fi X-Host-Fingerprint: 204.13.248.72 mho-02-ewr.mailhop.org Received: from [204.13.248.72] ([204.13.248.72:55479] helo=mho-02-ewr.mailhop.org) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 13/D3-26597-7AC57AA4 for ; Wed, 09 Sep 2009 03:43:36 -0400 Received: from a88-112-30-186.elisa-laajakaista.fi ([88.112.30.186] helo=localhost.localdomain) by mho-02-ewr.mailhop.org with esmtpsa (TLSv1:CAMELLIA256-SHA:256) (Exim 4.68) (envelope-from ) id 1MlHpz-0006CU-Rv; Wed, 09 Sep 2009 07:43:32 +0000 X-Mail-Handler: MailHop Outbound by DynDNS X-Originating-IP: 88.112.30.186 X-Report-Abuse-To: abuse@dyndns.com (see http://www.dyndns.com/services/mailhop/outbound_abuse.html for abuse reporting information) X-MHO-User: U2FsdGVkX1/2ASs7H3CFz9rugH2+BMu9igWGwwyh21E= Message-ID: <4AA75C9F.3090605@iki.fi> Date: Wed, 09 Sep 2009 10:43:27 +0300 Reply-To: jani.taskinen@iki.fi User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.1) Gecko/20090814 Fedora/3.0-2.6.b3.fc11 Thunderbird/3.0b3 MIME-Version: 1.0 To: Rasmus Lerdorf CC: dreamcat four , internals@lists.php.net, jvlad , Dmitri Dmitrienko References: <99cf22520909081652v29a9ea56q33882849cce3081e@mail.gmail.com> <4AA6F06C.4020008@lerdorf.com> In-Reply-To: <4AA6F06C.4020008@lerdorf.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [sapi] PHP-FPM (FastCGI Process Manager), by Andrei Nigmatulin - upstream Y/n? From: jani.taskinen@iki.fi (Jani Taskinen) On 09/09/2009 03:01 AM, Rasmus Lerdorf wrote: > This has been discussed before. See: > http://news.php.net/php.internals/44476 > http://news.php.net/php.internals/44480 > http://news.php.net/php.internals/44484 > http://news.php.net/php.internals/44485 > > Basically it comes down to figuring out whether to extend the existing > FastCGI SAPI to support the process management in FPM, or add it as a > separate SAPI. As separate SAPI, wouldn't it duplicate a LOT of code, basically for nothing? I'd rather see the good parts of this merged into the one-and-only sapi/cgi/ code instead of creating yet another SAPI nobody maintains for real. --Jani > -Rasmus > > dreamcat four wrote: >> Hi! >> >> We have today been asked by Debian and Ubuntu Maintainers to merge our >> code up to PHP repository. >> They have stated that they want to see the fpm sapi variant officially >> supported. >> >> It would be nice to hear what you guy's official decision would be >> about something like this. >> Here are some details about the FPM Project, and it's current status: >> >> Andrei has done very clean, pristine code since forking the fcgi-sapi >> and moving it forward in the 0.602. >> I have been involved recently in this simply as a packager for the new >> 0.6 line of FPM Project. >> >> We maintain ourselves as a seperate project on launchpad, and have not >> submitting any code to you guys (PHP). >> But since this request from debian/ubuntu, i guess we need for some >> type of upstream sync or import process. >> >> We are versioned in bzr and github. >> >> ## Autoconf >> >> This project relies upon its own versions of the autoconf toolset to >> generate its `./configure` script. To use autoconf, then run >> `./build-autotools` which will install it locally in the directory. If >> `./build-autotools` fails we have more information in >> autoconf.markdown. >> >> ## Build process >> >> Compilation is pretty straightforward and hassle-free. The make >> process can be described as: >> >> 1) Compile the php sources into object files in the php build directory >> 2) Compile the fpm sources into object files in the fpm build directory >> 3) Link all the php object file with these fpm object file together >> 4) Output: Static php5 binary, which is php base and using the fpm's >> version of fcgi-SAPI as frontend >> >> Fpm is mixed into php at the link-level. This de-couples the fpm >> sources, making the process manager part somewhat less sensitive to >> changes in the php project. PHP-FPM is derived from the fcgi-sapi. We >> no longer patch directly onto php-maintained files. Instead there are >> 3 similar counterpart files from sapi/cgi and fpm's sapi are >> periodically synced to them. Libevent library is included for the >> process management. >> >> ## Licence >> Fpm has a very minimal licence. Fpm-sapi is a php license. The bundled >> Libevent library is OpenBSD. >> Please Contact Andrei Nigmatulin regarding any further licensing questions. >> You should otherwise credit Andrei Nigmatulin as the author of /fpm sources. >> >> ## Compatibility >> >> Fpm 0.6.3+ is coming soon for the following versions of php: >> >> php-5.2.10+ (ready) >> php-5.3.any (definitely coming this week) >> php-6.0 /trunk (may be this week also, if no hitch) >> >> The script in our src tree 'generate-fpm-patch' is a possible way to >> sync changes. >> Or perhaps there's a better way to get from bzr into a subtree as svn. >> >> The project's sub-tree is; >> config/ >> libevent/ >> man/ >> src/ >> src/fpm/ >> src/sapi/ >> >> Would we be required to change the layout of our project's subtree? >> And then which directory can it exist? >> >> a) ext/fpm/ >> b) fpm/ >> c) sapi/fpm/ ? >> >> >> Again, please any thoughts / discussion welcome. >> >> >> Best regards, >> >> dreamcat4 >> dreamcat4@gmail.com >> > >