Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:45524 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 80680 invoked from network); 9 Sep 2009 00:01:56 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 9 Sep 2009 00:01:56 -0000 Authentication-Results: pb1.pair.com header.from=rasmus@lerdorf.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=rasmus@lerdorf.com; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain lerdorf.com from 209.85.221.187 cause and error) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 209.85.221.187 mail-qy0-f187.google.com Received: from [209.85.221.187] ([209.85.221.187:38360] helo=mail-qy0-f187.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 2E/D8-26597-270F6AA4 for ; Tue, 08 Sep 2009 20:01:55 -0400 Received: by qyk17 with SMTP id 17so1876966qyk.2 for ; Tue, 08 Sep 2009 17:01:51 -0700 (PDT) Received: by 10.224.79.22 with SMTP id n22mr10575309qak.230.1252454511328; Tue, 08 Sep 2009 17:01:51 -0700 (PDT) Received: from trainburn-lm.corp.yahoo.com (trainburn-lm.corp.yahoo.com [207.126.233.11]) by mx.google.com with ESMTPS id 6sm43374qwd.43.2009.09.08.17.01.49 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 08 Sep 2009 17:01:50 -0700 (PDT) Message-ID: <4AA6F06C.4020008@lerdorf.com> Date: Tue, 08 Sep 2009 17:01:48 -0700 User-Agent: Thunderbird 2.0.0.18 (Macintosh/20081105) MIME-Version: 1.0 To: dreamcat four CC: internals@lists.php.net, jvlad , Dmitri Dmitrienko References: <99cf22520909081652v29a9ea56q33882849cce3081e@mail.gmail.com> In-Reply-To: <99cf22520909081652v29a9ea56q33882849cce3081e@mail.gmail.com> X-Enigmail-Version: 0.96.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [sapi] PHP-FPM (FastCGI Process Manager), by Andrei Nigmatulin - upstream Y/n? From: rasmus@lerdorf.com (Rasmus Lerdorf) 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. -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 >