Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:109213 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 63355 invoked from network); 22 Mar 2020 23:12:53 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 22 Mar 2020 23:12:53 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 361BE1804E0 for ; Sun, 22 Mar 2020 14:36:54 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 22 Mar 2020 14:36:53 -0700 (PDT) Received: by mail-io1-f43.google.com with SMTP id n21so12106514ioo.10 for ; Sun, 22 Mar 2020 14:36:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=datadoghq.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=uGMIgaZ3cDJtJT0BNo/aADA22RV4jRCzbHWHmL87KaY=; b=ZjO/PNEofgPCwjK3oCbWdCDpmx4ipvyAO8i/LNM2+UngMk1RyxIzi/P7pZ7X/dAoyC r7mGXq0uTKZyuLrcAAGipr3VA/X1dz+qBpSrGIgVQm9fHGtrmbwdXkn/HY3nq+99lUOD it1VGUL3oKcZV2xTCdUuCa3OSdciqU17hG0Rs= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=uGMIgaZ3cDJtJT0BNo/aADA22RV4jRCzbHWHmL87KaY=; b=FS/U2sqgedcjBSOC1qZApA4coHk3HDn9DupBusX1IMSmAhsFNvj7uftA76f/TZI2KJ 8qVZk4MTywxSSpE0++CWty8HGU/WlCpDhJiS7OpHF2uHaihHSe19KUzHp7jtN14newX6 C1t2eujAtUTYqf0wDyWbWyKXkdv9rZNuMURzgjkFWo1evNAMdL9+nFh8D5rsKb7o2Pvd 8oaokAjAX2KCESK3Zc42H/ScB9ZkNYsj1BvkB3u9xaVltTCpklTk0YKJb2chuEwGa6YU xGeUGF57m7IuWj2f3CXxgQXkMCL3xUQE2OYqlHwjTXzMYz1dzWdhl7/WBVL06divl06P oEMA== X-Gm-Message-State: ANhLgQ1XqHCFqN30euPjfJwkx24O7cXpLSWyn3v9S+iqysucBuE7UUBr SP1CwMvoltR5qvApNQldX6ylzVePPNb9Qgx3rBhFIiv4 X-Google-Smtp-Source: ADFU+vtsRj9AgMjEx+c11Zqe2Fb+m548wcXZWV8Fg2YAxTiOb6LX5BMnVI8By/4KizUEFv6Lv8kcgdAsCXMK6pS9v6M= X-Received: by 2002:a02:734c:: with SMTP id a12mr11838906jae.140.1584913011887; Sun, 22 Mar 2020 14:36:51 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Reply-To: Levi Morrison Date: Sun, 22 Mar 2020 15:36:41 -0600 Message-ID: To: Ben Ramsey Cc: Mike Schinkel , PHP internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] Are PECL modules preferable? From: internals@lists.php.net ("Levi Morrison via internals") > IMO, PECL is an antiquated system that needs a successor, in much the sam= e way Composer is the successor to PEAR. I think there are folks working on= a solution for this, but I=E2=80=99m not sure where they are in their effo= rts. If we could make extensions as easy to package, distribute, and instal= l (and load without root privileges) as Composer packages are, then I think= we could say that PECL extensions are preferable. In case anyone reading this cares to do anything about this situation, there are a few key issues with PECL today: 1. Its codebase tied to PEAR, which has been deprecated. For PECL to survive it needs to separate itself from PEAR to some degree, and it also needs maintained. 2. It doesn't work on Windows. 3. It isn't designed to work with ini configuration directories, and instead is focused on changing a singular `php.ini` file. However, PECL is actually a much better tool than I realized. It supports many things that are useful for package authors, but they don't seem to be used much -- my only guess is that they aren't well known or documented: - It can replace things in files, for example bumping version numbers in source files. - It supports post-install scripts, although they run separately from `pecl install`. - It can install PHP files into the PEAR directories, which allows you to ship PHP files with an extension. I'm hoping that over time with preloading and other features this becomes a viable model, but it's still useful today. ----- There is a tool called pickle that is intended to work on Windows and Linux. It doesn't seem recently maintained (but probably still in better shape than pecl). It has too much abstraction for my taste, so I didn't look at its source a lot; maybe someone else can comment more.