Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:89685 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 26362 invoked from network); 7 Dec 2015 04:00:09 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 7 Dec 2015 04:00:09 -0000 Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.223.170 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.223.170 mail-io0-f170.google.com Received: from [209.85.223.170] ([209.85.223.170:36101] helo=mail-io0-f170.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F5/09-55814-84405665 for ; Sun, 06 Dec 2015 23:00:08 -0500 Received: by iofh3 with SMTP id h3so169598387iof.3 for ; Sun, 06 Dec 2015 20:00:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=W+GEMbW+L6rAKtMLpkgQR2BulZww/esuYUBhurXub/g=; b=tVPqXzAYRxljgFa7BFTkIKU16jGLk+YWhieWADwyaTHAnUdjsQ5NRe91n160pDsL9E 77teUTXnUwiHLcPlBo8cPqvI1Vh7okGfseQTZY4xTSUxFJiRhPhWWPf13NH7zdh63skV u56SwYYlIsKUbM96bNBbYIFVMK8phgici1uKXF+sNDlz/El92ECxCxESGwjOQ4LYS4jT W4/K8LpUUFR1T1BYm9/7IhHG7TMbslEfOhHpsI9ZfYuYGpU11gNI+m7/lpAzC16jky3f OxwkGXGlawsxcj+P9UsP4V1fd9YdLnHlXAkREa5i29tyINHlMkHs3cLzm/Saoh7uyYfE PB/Q== MIME-Version: 1.0 X-Received: by 10.107.36.208 with SMTP id k199mr28919285iok.147.1449460805338; Sun, 06 Dec 2015 20:00:05 -0800 (PST) Received: by 10.107.130.143 with HTTP; Sun, 6 Dec 2015 20:00:03 -0800 (PST) Received: by 10.107.130.143 with HTTP; Sun, 6 Dec 2015 20:00:03 -0800 (PST) In-Reply-To: <565F6647.1080602@php.net> References: <565F6647.1080602@php.net> Date: Mon, 7 Dec 2015 11:00:03 +0700 Message-ID: To: =?UTF-8?Q?Fran=C3=A7ois_Laupretre?= Cc: PHP internals Content-Type: multipart/alternative; boundary=001a11405f046b0c8a052646e4d8 Subject: Re: [PHP-DEV] PCS (PHP Code Service) From: pierre.php@gmail.com (Pierre Joye) --001a11405f046b0c8a052646e4d8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Fran=C3=A7ois, On Dec 3, 2015 4:44 AM, "Fran=C3=A7ois Laupretre" wrote: > > Hi, > > I'd like to open a discussion about a new PHP extension named PCS. > > PCS stands for 'PHP Code Service' and it is (yet) another way to mix C and PHP code in extensions. > > Some months ago (January 2015), we had come to the conclusion that two issues needed to be solved : allow the PHP code to be opcache-d, and avoid loading every script at RINIT. PCS proposes a solution for both via a stream wrapper and an autoloader. > > During this discussion, it also became clear that two different sources of PHP scripts should be supported : some want to embed and distribute scripts in the compiled module, and others want to store them in a separate location on the host. So, PCS supports both architectures or even a mix of both. > > The documentation is available at http://pcs.tekwire.net : > > - the 'Introduction' document details the pros and cons of the different approaches, > - and a tutorial describes in details how to embed the MongoDB PHP library in the MongoDB C extension. > > If this discussion results in a positive consensus, and because PCS may potentially be used to rewrite parts of core extensions from C to PHP, I'll write an RFC proposing to include it in the 7.1 core distrib. > > Note : don't use the 'pecl install' command to get PCS, download from PECL. I still need to find a workaround for the 'pecl' command bug. Very nice work! :) For the core and to begin with, I would however prefer a very focused feature, to allow to bundle php code in an extension binary and make it available to userland, including opcache support (what is missing now). Any other features, while being useful in some situations, will make it harder to maintain and may be the next phar. Also many of these features could live well in an external extensions keeping the core part simple. Cheers, Pierre --001a11405f046b0c8a052646e4d8--