Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:95671 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 35411 invoked from network); 5 Sep 2016 18:58:06 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 5 Sep 2016 18:58:06 -0000 Authentication-Results: pb1.pair.com smtp.mail=me@daveyshafik.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=me@daveyshafik.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain daveyshafik.com from 209.85.220.177 cause and error) X-PHP-List-Original-Sender: me@daveyshafik.com X-Host-Fingerprint: 209.85.220.177 mail-qk0-f177.google.com Received: from [209.85.220.177] ([209.85.220.177:32783] helo=mail-qk0-f177.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3B/B8-45301-C30CDC75 for ; Mon, 05 Sep 2016 14:58:04 -0400 Received: by mail-qk0-f177.google.com with SMTP id z190so197583240qkc.0 for ; Mon, 05 Sep 2016 11:58:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=daveyshafik-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=sieicbryB/XaoPzhSzeVpAgBDWuGpU27ZNCcxkjMlFs=; b=YZnfM+R8CwEUU6P7zY7Ig+WHUOkWDJx+HIvPJXPGEg8PAV35j2aui5w8c6bjwPVyCr yJfHfYUYKUmkZ7vC4EVUmQPRu4IiO6kfRGFUxTNyWNUfC0h7PIZssrEy140WtmGMYQjH bsKd2p+43VzrphCjVKtKaYuaJhdnoydORta1xQOf5ul5v2RysAsBjgZ+6SezlKPqjVa1 VVdryiYScb9LTdOje4H//NWHaBToQ6ZF7KvrPcoK3bKu0cyGJh8plCpvH1HzSRBHw/h7 /8Gv8rwyO+dsK+PPxAsHBQUMotGncoRNAClp9RwRwqsysH2mgJGQ/JQWXGjxVQNC/o/n YM+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=sieicbryB/XaoPzhSzeVpAgBDWuGpU27ZNCcxkjMlFs=; b=VBCskTrRmSGmDSIvD0kahuyBunNbdGYnz5bi0mZ+OGK3sWZ2AKR9xTAAQK3TEeLKhX wnqM/sLL5fN7zsYAxBUo3fRs09B5lSiQ3//Zu+at0ldwOoHaqmREhBVfIfCkLnV53H+q pekNohNqfmA2tdb6LafKPHGXcBXGVFK0GFWSRWMi0vbI8wgZ9wFkS6o39kI+KnqQmHbh bl8SjxRubANr5DdqYl6vTnIorX7dy87r0W5RXb5w5wXyVXQ7/WrtAzE09ivCH7erGErr YQ2YEHDitywxshvCGVAaFtJwLfaQjGVQ1DFj63HOtdVoMrE379aOwHnvBqysa9W5vvXF 7+wg== X-Gm-Message-State: AE9vXwMGNllTvZbw3Wv5dZV1jJiojEO9LetbTj7IGyrET3K41qiOqdlYsLA0fEdHTgiNEWjy6qjuZbRLsr+Ph1aP X-Received: by 10.55.92.193 with SMTP id q184mr38527778qkb.139.1473101880958; Mon, 05 Sep 2016 11:58:00 -0700 (PDT) MIME-Version: 1.0 Received: by 10.237.50.161 with HTTP; Mon, 5 Sep 2016 11:57:59 -0700 (PDT) In-Reply-To: References: Date: Mon, 5 Sep 2016 11:57:59 -0700 Message-ID: To: Michael Morris Cc: "internals@lists.php.net" Content-Type: multipart/alternative; boundary=001a114e6328555971053bc74285 Subject: Re: [PHP-DEV] [RFC] Deprecate PEAR/PECL & Replace with composer/pickle From: me@daveyshafik.com (Davey Shafik) --001a114e6328555971053bc74285 Content-Type: text/plain; charset=UTF-8 On Mon, Sep 5, 2016 at 8:31 AM, Michael Morris wrote: > Please be cautious - composer isn't a complete replacement for PEAR > because it doesn't behave the same way. For the most part this is a good > thing, but please consider the following. > > On not one but two occasions I was tasked after being hired with upgrading > PHP versions from 4.x to 5.3. In both cases the programmers on staff who > had inherited the balls of mud in question swore up and down it couldn't be > done - on both occasions it was because they weren't copying the PEAR > libraries over to the new PHP install. > > PEAR is a global installer, and unfortunately I imagine there are a lot of > legacy sites that have been inherited by inexperienced coders who don''t > know what it is (cause it is used so rarely these days) that have pear libs > in use. If they need to build a new version of PHP they are at a complete > loss unless they know what they are doing because, more often than not, the > requirement of pear libraries in PHP apps that use them go undocumented. > Even ten years ago, best practices was not to install PEAR packages globally due to different projects on shared hosts needing different versions. Instead we installed them locally, committed them to RCS, and used the include_path to control include locations. > Composer is superior for several reasons, but one of them is that it > doesn't share this flaw. The requirements of a composer project are listed > explicitly in the composer.json file - often down to the version # of the > code in question. > > While abandoning PEAR seems sensible, abandoning its plugins, not so much. > Nobody is suggesting this. Though it might be good to push them off from under php.net, that doesn't stop them existing, and that's not part of this RFC. > To say nothing of PECL extensions which are, if I recall correctly, > written in C++ and extend the PHP runtime directly. > Written in C, and yes, that's the difference between PEAR and PECL, the former are userland, the latter are written in C. This is where pickle comes in. > Also, as Tony Marston pointed out, there are CPanel systems that allow the > pear libraries to be managed from a web gui. Given time I'm sure the folks > at cpanel will build new interfaces for new systems if it's possible. > Composer however doesn't really allow for this since the dependencies > belong to the PHP application, not the server. Does it make sense for any > new system to allow for server wide installing? Composer does have global > requiring, but it's usually for support tools meant for use at the command > line like PHP Unit. > Actually, I think Tony is pointing to pear-web, a PEAR provided web interface for PEAR itself (which can be used instead of the CLI tool). Which isn't going away, it will just be unbundled. In 8.0. Nothing we're doing changes anything for CPanel and the like except they may now need to replicate the install part of PEAR themselves from the PHP compilation. It's very simple. > Despite the misgivings above, I do support the aims of this RFC and hope > they are considered going forward. > Thank you. - Davey --001a114e6328555971053bc74285--