Re: Consistent case-insensitive module registry lookups

From: Date: Tue, 18 Aug 2026 17:44:40 +0000
Subject: Re: Consistent case-insensitive module registry lookups
References: 1 2 3 4 5 6 7  Groups: php.internals 
Request: Send a blank email to internals+get-132267@lists.php.net to get a copy of this message
On 18-8-2026 16:51, Matteo Beccati wrote:
Il 18/08/2026 15:04, Aleksander Machniak ha scritto:
I don't agree that case-sensitive here would be better. There's multiple variations of extension names, e.g. PDO, SimpleXML, Xdebug, swoole. And for example --disable-simplexml exists (btw, is this one case- insensitive? why not --disable-SimleXML?). The point is that in some places you don't have to know the exact casing. So, why would I have to know when checking for an extension existence? More importantly, is it possible currently to have both Myext and myext enabled? I'd say there might be more arguments for case-insensitive solution here.
Wearing my RM hat, I've already mentioned that I'd be perfectly fine with 8.6 having a case‑insensitive ini_get_all(). Wearing any other hat I might have, I agree that keeping extension names case‑insensitive makes far more sense. To me, this would be one of those useless BC breaks that make the user experience worse instead of improving it.
Another voice here for case- INsensitive. Case-sensitive makes no sense to me at all as the names of some extensions can be written in various different case-sensitive ways. Think: simplexml, Simplexml, SimpleXML, SimpleXml etc ... Now, how would a dev know what the "proper" case is for a case-sensitive $extensions argument ? I can already hear people say - "oh, but those functions should not work on "proper" case, but should take _lowercase_ extension names".... Except, now you want to create a "loaded extension version list" and you use get_loaded_extensions() and now you'd have to lowercase every extension name before passing it on to phpversion(). So, in my opinion, case-INsensitive for the $extensions arguments is the only thing that makes any sense and doesn't make life harder for developers. And as a dev user without vote, I'd be perfectly fine for that change (making the $extensions parameter for ini_get_all() case-insensitive) to go into PHP 8.6 as a bug fix. Smile, Juliette

« previous php.internals (#132267) next »