Re: Are PECL modules preferable?
| From: | Ben Ramsey | Date: | Sat, 21 Mar 2020 23:15:38 +0000 |
| Subject: | Re: Are PECL modules preferable? | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-109196@lists.php.net to get a copy of this message | ||
> On Mar 21, 2020, at 17:52, Mike Schinkel <mike@newclarity.net> wrote:
>
>> On Mar 21, 2020, at 5:59 PM, tyson andre <tysonandre775@hotmail.com> wrote:
>> FROM: Re: [PHP-DEV] [RFC] is_literal()
>>
>> And if it can be implemented as a PECL module, that would be more preferable to me than a
>> core module of php.
>> If it was in core, having to support that feature may limit optimizations or implementation
>> changes that could be done in the future.
>
> Just wanted to address this comment which was made on another thread (I did not want to hijack
> that thread.)
>
> A large number of PHP users have no control over the platform they run on, so the option to use
> PECL modules is a non-starter for them.
>
> Here are several of those managed hosting platforms I speak of. Collectively they host a large
> number of WordPress sites, and Pantheon also host Drupal sites:
>
> https://pagely.com/
> https://wpvip.com/
> https://wpengine.com/
> https://kinsta.com/
> https://pantheon.io/
>
> Given that, if there is an option between a useful feature being added to core or left in PECL,
> I would vote 100% of the time for core, since working with WordPress on a corporate site I can
> rarely ever use PECL extensions.
>
> #fwiw
>
> -Mike
If at all possible, I advocate for implementing in userland. Of course, the specific
is_literal/taint feature is special in this regard -- it can’t be implemented in userland.
IMO, PECL is an antiquated system that needs a successor, in much the same way Composer is the
successor to PEAR. I think there are folks working on a solution for this, but I’m not sure where
they are in their efforts. If we could make extensions as easy to package, distribute, and install
(and load without root privileges) as Composer packages are, then I think we could say that PECL
extensions are preferable.
Maybe FFI can help in this regard?
In the meantime, I agree with you that general-use language features that cannot be implemented in
userland can serve the community best in the core, rather than in PECL, but their general utility
will need to be weighed against their impact to the engine (i.e., if a feature slows down the
engine, we can’t put it into core).
Cheers,
Ben
Attachment: [application/pgp-signature] Message signed with OpenPGP signature.asc
Attachment: [application/pgp-signature] Message signed with OpenPGP signature.asc