Proposal to unbundle imap/pspell/oci8 extensions for PHP 8.4
| From: | Derick Rethans | Date: | Wed, 13 Sep 2023 08:50:26 +0000 |
| Subject: | Proposal to unbundle imap/pspell/oci8 extensions for PHP 8.4 | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-121051@lists.php.net to get a copy of this message | ||
Hi,
In a recent chat between the PHP Foundation developers, we discussed
unbundling several extensions.
ext/imap
The library that provides the functionality in this extension, c-client,
is no longer updated. The last release from 2007 is no longer available
on the original distributor's (University of Washington) website, but
there is an unofficial GitHub repository that hasn't been updated for 5
years either (https://github.com/uw-imap/imap).
You can't also use this any more with G Suite due to authentication
changes (https://github.com/uw-imap/imap/issues/4).
There are several user-land packages that are still maintained, and
provide superior functionality:
- https://github.com/PHPMailer/PHPMailer
- https://github.com/zetacomponents/Mail/
- https://github.com/symfony/mailer
- https://github.com/laminas/laminas-mail
ext/pspell
The original underlying library hasn't been updated since 2001
(https://en.wikipedia.org/wiki/Pspell) and it's replacement, aspell not
since 2019 (https://ftp.gnu.org/gnu/aspell/).
There are other replacements, ispell, and hunspell, but they don't seem
to be compatible API-wise. The PECL extension "enchant" was supposed
to be able to use with all of these, but is also no longer maintained
(last release in 2009, https://pecl.php.net/package/enchant).
Again, there are several user land composer packages
(https://packagist.org/?query=spell) that can be used instead.
ext/oci8
Requires a proprietary library from large commercial enterprise
(https://www.oracle.com/database/technologies/instant-client.html) and
has many outstanding bugs:
https://bugs.php.net/search.php?cmd=display&package_name[]=PDO+OCI&package_name[]=OCI8+related&package_name[]=Oracle+related&order_by=ts1&direction=ASC&limit=30&status=Open&reorder_by=ts1
https://github.com/php/php-src/labels/Extension%3A%20oci8
Most of the recent changes were all to skip tests.
It is also one of the larger extensions left that had not had their
resource type converted to objects. This is a major effort, and frankly,
probably something that should be done by the corporate sponsor of the
oracle extensions.
Please remember, that unbundling extensions does not mean that they
disappear. They will be moved to PECL with a release made.
An RFC will of course be forthcoming, but we thought it best to email
the list first.
cheers,
Derick
--
https://derickrethans.nl | https://xdebug.org | https://dram.io
Author of Xdebug. Like it? Consider supporting me: https://xdebug.org/support
Host of PHP Internals News: https://phpinternals.news
mastodon: @derickr@phpc.social @xdebug@phpc.social
twitter: @derickr and @xdebug