====== PHP RFC: Case-insensitive extension names in ini_get_all() ====== * Version: 1.0 * Date: 2026-10-17 * Author: Weilin Du, weilindu@php.net * Status: Under Discussion * Implementation: TBD * Discussion thread: [[https://externals.io/message/132226|Initial discussion]] [[https://news-web.php.net/php.internals/132875|Official RFC thread]] ===== Introduction ===== PHP's extension-query functions handle extension names inconsistently. ''extension_loaded()'', ''get_extension_funcs()'', and ''phpversion()'' already accept case-insensitive names, while ''ini_get_all()'' requires lowercase names: This RFC proposes making ''ini_get_all()'' case-insensitive so the same extension name can be used consistently across all four functions, without callers needing to normalize it for one particular API. ===== Proposal ===== Resolve the ''$extension'' argument using ASCII case-insensitive matching, independently of the current locale. This applies to both values of ''$details'' (the second parameter). ===== Backward Incompatible Changes ===== Names differing only in capitalization from a loaded extension now succeed instead of raising a warning and returning ''false''. Code relying on that failure will observe different behavior. Existing successful calls are unaffected. ===== Proposed PHP Version(s) ===== PHP 8.7 ===== RFC Impact ===== The ini_get_all function will be more consistent with the rest of the functions in the php core concerning extension's name when it comes to case-sensitiveness. ===== Voting Choices ===== A two-thirds majority is required. Voting has not started; the closing timestamp will be added when scheduled. * Yes * No * Abstain ===== Patches and Tests ===== TBD. ===== References ===== * [[https://externals.io/message/132226|Initial internals discussion]]