Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:63539 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 65531 invoked from network); 18 Oct 2012 23:35:43 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 18 Oct 2012 23:35:43 -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.220.170 cause and error) X-PHP-List-Original-Sender: rasmus@lerdorf.com X-Host-Fingerprint: 209.85.220.170 mail-vc0-f170.google.com Received: from [209.85.220.170] ([209.85.220.170:59776] helo=mail-vc0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 58/F2-47215-D4290805 for ; Thu, 18 Oct 2012 19:35:42 -0400 Received: by mail-vc0-f170.google.com with SMTP id fo14so10942161vcb.29 for ; Thu, 18 Oct 2012 16:35:39 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:x-enigmail-version:content-type :content-transfer-encoding:x-gm-message-state; bh=D1hd6EBHN/5mnRtQnedMewkoyaR5qznjULgC8riL12Q=; b=SAbKXtrCa28DMwsStE/nWBlaKfCEepeKSuS90PWSEzQ1CoTouUd+gCL3Lk7QAMuBHW 7q6/3APW29hBnAMyx7JTGb0kzuSYgwu0/sbI2PzlvKHW4WtdmM2itCg5fxX2UOMdOmjs FolW50XM3EtD0C7poWAeV2jeqcfuPY/50QQhen8uQ1N6zl064cnamOE0o64aWtHwVxRW cCTrQ6rYGsfhpkdhM6ptpsErhN/QH8XPCge9IRteKwLT/NAz2QSA8lS4k+9XwOZ6eCCQ uTgL1JsWv9XvnDcLKIfBDejleNjdxBI2iyPAWcJBX+iIIrUGxnJgTbNQqWt/VqLocZVZ 52Jg== Received: by 10.58.2.104 with SMTP id 8mr18142483vet.48.1350603339057; Thu, 18 Oct 2012 16:35:39 -0700 (PDT) Received: from [192.168.200.148] (c-50-131-44-225.hsd1.ca.comcast.net. [50.131.44.225]) by mx.google.com with ESMTPS id cz16sm58939vdb.15.2012.10.18.16.35.37 (version=SSLv3 cipher=OTHER); Thu, 18 Oct 2012 16:35:38 -0700 (PDT) Message-ID: <50809248.3060008@lerdorf.com> Date: Thu, 18 Oct 2012 16:35:36 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:16.0) Gecko/20121011 Thunderbird/16.0.1 MIME-Version: 1.0 To: David Strauss CC: David Muir , internals@lists.php.net References: <50808B72.5030203@gmail.com> In-Reply-To: X-Enigmail-Version: 1.4.5 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Gm-Message-State: ALoCoQly5g39Q5OqhwQNlXMvWjHaaMHnu7XInQAADHueC6++81TL0uDBJUHqiyBFzeR5Xs7fMj09 Subject: Re: [PHP-DEV] [RFC] Socket activation support for PHP-FPM From: rasmus@lerdorf.com (Rasmus Lerdorf) On 10/18/2012 04:16 PM, David Strauss wrote: > On Thu, Oct 18, 2012 at 4:06 PM, David Muir wrote: >> Upstart support would be good to have too. > > I'm aware of Upstart having some basic socket activation support, and > I'm happy to provide advice on the PHP-FPM/Linux side for integrating > it in follow-up work. All socket activation basically works the same > way, in the sense of a file descriptor getting handed into the daemon. > > I eventually foresee either a standardization of environmental > variables for handing in sockets or a "libsocketactivation" that looks > for the appropriate environmental variables for your superserver or > init daemon. > >> I take it that this would allow restarting specific pools? That would be >> a really nice to have. > > I didn't really think about it because we've always run an instance of > PHP-FPM per pool to have such capability, but that's certainly the > case. If template-based services (not discussed in or related to the > RFC) like those in systemd become more widespread, I'd imagine a lot > of applications like nginx, Apache, and PHP-FPM could cede their > internal virtual host/multi-pool models in favor of standardized > provisioning of multiple instances. Note though that in order for pools to share an opcode cache they must be forked from the same parent process. There are ways to work around that, but it requires some fancy fd passing footwork in APC and I guess in many instances you don't actually want to share across pools anyway. -Rasmus