Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:72664 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 1501 invoked from network); 17 Feb 2014 21:17:57 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Feb 2014 21:17:57 -0000 Authentication-Results: pb1.pair.com smtp.mail=johannes@schlueters.de; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=johannes@schlueters.de; sender-id=unknown Received-SPF: error (pb1.pair.com: domain schlueters.de from 217.114.215.10 cause and error) X-PHP-List-Original-Sender: johannes@schlueters.de X-Host-Fingerprint: 217.114.215.10 mail.experimentalworks.net Received: from [217.114.215.10] ([217.114.215.10:51930] helo=mail.experimentalworks.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 11/77-64799-48C72035 for ; Mon, 17 Feb 2014 16:17:57 -0500 Received: from [192.168.2.31] (ppp-93-104-26-120.dynamic.mnet-online.de [93.104.26.120]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: johannes@schlueters.de) by mail.experimentalworks.net (Postfix) with ESMTPSA id 046FF3FE8D; Mon, 17 Feb 2014 22:18:33 +0100 (CET) To: Ralph Schindler Cc: internals@lists.php.net In-Reply-To: <530278EE.3000008@ralphschindler.com> References: <1392661082.3990.265.camel@guybrush> <530278EE.3000008@ralphschindler.com> Content-Type: text/plain; charset="UTF-8" Date: Mon, 17 Feb 2014 22:17:51 +0100 Message-ID: <1392671871.3990.303.camel@guybrush> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] my take on PHP 6, part 2 From: johannes@schlueters.de (Johannes =?ISO-8859-1?Q?Schl=FCter?=) On Mon, 2014-02-17 at 15:02 -0600, Ralph Schindler wrote: > I think the idea here is to be able to have per-project extension > dependencies, as you said, with composer. This would be ideal in a way > for the ecosystem to vet extensions before inclusion in core. But > currently, unless you own the system, extensions are extremely > inaccessible to gain any real momentum. Right, but this isn't a trivial problem. We must ensure that - extensions load quickly (right now we can have relatively expensive MINIT code) - extensions survive loading at run time (some extensions, like session, eventually send HTTP headers, many won't handle "class/function already defined" errors well) - we don't run into issues in threaded environments (as long as we support those) - we can properly unload and clean up (some extensions mess with internal data structures, sometimes the OS has issue with releasing all symbols etc.) - we don't open too much of a pandorra's box in regards to security (if we restrict it to extension_dir it is useless for the composer case, if not we provide a tool to bypass all of PHP's blocking mechanisms) - ... I think it is great to do, but a proper solution is not a small project but might require a revamp of many APIs. And I want to remind about my typical opinion: We should try to require as little extensions as possible and do as many things as possible (in a usable way) in userland. If we spend time on making PHP faster we reduce the need for extensions even more. johannes