Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128873 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 0B4C21A00BC for ; Mon, 20 Oct 2025 09:17:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1760951827; bh=BzI5jQX489VlgPhzD/jPdzEbAxUMJvmRZzVV3sUQpP4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VlhJVneyqMD1UvT8P9mglNEuApRuT8swcVbZy7bfZ3k40d61hsbhA1fC9nNVv/O+o esByC4q9JjVv24wlNWDaLqblFFcSU/UPighn5FDowT0ZDdQsenXIQ/Uxrf219pRMhT inLABi8vayyzvV7Hat4370F4Bn12rbHksnffk+gAsBy2X9p5OrwXnRx+OuKYC3YnVz k6gd+AsuoGt/mCzo22bJ08QJxbDsg7dUJieihKqKQib8b88+PtXDwQKglVPQqDSuTW /4eiDiewIhNAr9IbtD79YrVtY/oocznrUFz0Wh691jwusJzeIvZsWwtyRGAmqifFKJ U9/Ktrqz+8BNQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CBA051801D9 for ; Mon, 20 Oct 2025 09:17:05 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.2 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from sonic309-24.consmr.mail.ir2.yahoo.com (sonic309-24.consmr.mail.ir2.yahoo.com [77.238.179.82]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 20 Oct 2025 09:17:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.de; s=s2048; t=1760951818; bh=UjjC8hAzYwYgRMun+TrPV2um+9nEG8OPseDYYQUb/g8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From:Subject:Reply-To; b=UV3z2ZUG2gbSyuaCMC5Y2a3LLQDerlATJSQCTlSxWk8QRF7wNPWf8f6eUrNulB+jjyBmjrpkdGjXWAK5+tqo400DHlt+HK/g3hBohTr2cnspOZ47LKN9eE2a6zmKj/wOMI5Sws5qNDc/HLzVHSwcP/7nxfC9eMKC8JXVIZiY6KL9yL3ziuvmnQ6q/78p3IqsoJ/2TRA0Wzy17mwR32GD5UNr44jIm+gWiv79+bzw/y9QXPb3xs6yHhoPzN0zeNt7YYaNpQtwX3wL2LOmLrXkq0ZHzBXkdnDTGxPr3IUFXpKuYKexgxdI96W9e3eZ+GGesMfR54uByoPBMKMp267YHQ== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1760951818; bh=6xMjr2MK2RxCH/ijOw2i51DSNHewSmLpd2gnyGGov7e=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=lTNcdmTg6awENZgWo4MsBSLqcKdwN6m6o5n6lMeJXe+BZEhvvkjy+xyC4YFoYZ6REKhjw+yDomTsMgSiwTQgh0ZhOedUowhL/WP2VFOzp05usr4CS6e4R72ebMldfaMy655uSWAm5D3p7uwwWU/0gsbzBNvaud0C2Qrs3hekW8wrgycSlBm+0SqSC5QK2lYOf6b0jUcGwUBzg/9tWcBpBr0p4vpKDwMOd1ABwMjcxSSq45xp0hWAe0XvJQIHC3/gBtfdvo9h0iUswIGrJ1QOcYxA38uRulgm4IH041JMBAFKMljDHu3CFbDpO7270EJ2CU2RI3M1Lg7oo6f45w/tHQ== X-YMail-OSG: E4GkKEIVM1mFFN7o8roE3PG2f28q5aFggxn8bkQUDxE91R2ZasNgRBcgYdmjh.g OuvvCp4QBELdo6XR4M4tZEmw8kotygwdnMfgJ8V2WejK4giOZIjqByUHi6GoMBRm_b1Cim1EXqtl UPC3ve6wachDlND_2VNmjdBBgGKVxIrqgHx4Cwt9jXGEblabqTugSFOJgpClHRog02kJat8MTID9 pRnnlyRNWeIpwhGG9Ff5E54Ivvvbc8Dz4F9l7w7TY1dM8FpxPKSElbymyHSl30Sho08EBE72mabo ARmwyjHBx2cCmeguui4ZtxnFEs9KuW6UFmkZUgP6GFvgoNl71d7IjcD16AWP7ZvdQCD3SK87oot6 glnE8dHoGZgYy7iVWlx751U8yd0mT9PepW7JZbRf4I2BnG6y96N9I0YdZS.hONexo_XGGan8VbRy nV1X_IMZbnwlhjxr7vc5e2HEk6kEpnKfem9VyAcudJrhwYxtm96KEEdJOIGWutLZX6WlHbmPToEc W7MvTVNMs5s7gh9hZbq_l1n4d3l0KwEg5CEBATyiuCB.zkHm9XliRHaexQ5IxdDIsTmCaisqcKkb w7L.IkJ5S4dPsqaweYNhP7hlKe9llJGHwNnXO7SdSIxPG0D0.XzuYuREa_hxjpbBvJqw7e0HtKOg nyABJchZsl0R19mQMDvHuxQ9ah74cKq3MknwS7RiYfqvVBPMDHe0ClN_qXinnB0l5Mui7Nb59MkT T.46dfhS7DSk_MMHH3eR.jo4Do.mm2c.WkDnylINh6fStqGz4z2kUfNwEt6pG75SOSqV2raMBNhV an7vgbzh_T7QzQL1T58BO6Qq1xZUI5CGbb8iiGknXgMSRlnrDOZwBA83zLaIhKZP10XXQiC00bli U3L4mzmaLX_cW_HAYxYqX2U.jh.oLIoDGLPuYuUxyGxs1sMzWuIC2Jhy7xFdYX5HRFj1QSI_DYck AqWRNTUtSi6Sz1mXF8pi22_eI7CqDX.dE0dLW95ufi.QSvka44obxBvMgfoqe7ZmOvUZVcb5Eqbj uEc7jEja8fRyomPVMHSUkUvFHjN14b8vFiN7X0plLZLXzq0aiDw4obBgK68jtbNfdO_a9D3NzS8V .p4NEU58hmdOpY9lvcshzYdh2EBTErT4eINHg1aEBqoweNlCptfHqqO1ijKqxwfYVnhJ.DbvAxWl Ii2jtQRCSJBq65h4HUHm3skHHkmD6.PVp4FPWHZip9w6pHhaU8SHjSsR_gwrSC1xNzsjy_vY9wUS MP7eNPe8mCYQGzz6.NIy8RHgqSCrz8KZs5lfw4SKQgWM6g4wqhu3cxGyVPVN6qS9jH7ckk09u6RA l34Z6hYZCQEawgHExVXGu2IlXiK3lKAc.8AEm10iYMZxTfOAS8HZXWK0McjaUrpJWdqObERj_9xV 7rfS5mOD1wxIfyrDpC4a8013qvKngjbKu5B08R5iHH.sdXPruHAWtJfZM988963RMANXjzdKMYTH omuPxAaL0VXQVidbrX2Zjta42WXUwa.rcrsrmw3SO4BKIDprL9pt7NQEMvL3Rc3C2yxpaukPFTO4 CVMzIT34YYuJRGOwIlBmr8I9es9uvm_JWZXGUWAoZRF9cu7oN9756ESIAfWrmzFfsnUW6DpdQLuw CoHxjqu_x2ElydU9RXpe1NrzmT50VmrXw9CdqVbNGvedXyW2vO.wjZvXrrrSwd4XZ_lo9fZ5SHFL 4KzU.zg_tZOkkeg7MKIoiKBXFY7c97los1oCkDhIXkOcKgTdmRZ8OVY1nTTNeOByb.5lZtJ3hOgT 9xGaYKSlM9KfX3kzXGMa9nflH1DJXqJt.ja4ZkDAcsn2rpJKMW8pfRcexxnpcC6IEugMemNDntXX dF0EJEsG1_nUZc.AQvaurTqQy5PVR54qcrhBHFgB3Fiu0RA_FOd.lRmdHvm_qfkAwTgCj0b5SvKC GA2.15i_jjZRVpu5t2QbDf5KD4xrI07y_RVI9JMt.fe_jYh6Ao6poclPs_W.SQFNAVrITw9tbpUj QNzAaVSx0qPv7lLqA3oCzHjvZCYhd3kcXNaMEU7_7oV5LJfs8ToE3m7gZ3fTWpXAGxx49hgI.K_3 RGT1qi3_DpXCEgk2opXypuYcE2DrwW.oG48Avg4WJEq29k_NBxOdPtDaV8eNfaBCcBWViKPkNf19 e2TZpBCWTEWsESkQ9gwxtE3MwIBUdyOIPjVTSCtfo95vg0_Eoqo3d40PSfG2Tzvhy6i8pGtqCEV5 .LoHNJI5ROOxyrqPdFW8IUKl8o8gcwyGd1nKoS5M3p2n5OCD8bLUBE3nT_xP3cLW2AA-- X-Sonic-MF: X-Sonic-ID: 38d3b687-c625-4014-a8af-e62505787bf2 Received: from sonic.gate.mail.ne1.yahoo.com by sonic309.consmr.mail.ir2.yahoo.com with HTTP; Mon, 20 Oct 2025 09:16:58 +0000 Received: by hermes--production-ir2-cdb597784-jqbcp (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 7164200c64f24e70ae979dd38f4032dd; Mon, 20 Oct 2025 09:16:53 +0000 (UTC) Content-Type: text/plain; charset=utf-8 Message-ID: <1760945334276.4002170669.2593555531@yahoo.de> To: tim@bastelstu.be Cc: internals@lists.php.net Subject: Re: [PHP-DEV] Deprecate Undefined Constant Usage in php.ini Files (GH-20060) Date: Mon, 20 Oct 2025 09:16:51 +0000 In-Reply-To: <2abf50cd-5738-48e0-af15-a8c010141deb@bastelstu.be> References: <2abf50cd-5738-48e0-af15-a8c010141deb@bastelstu.be> X-Mailer: Vivaldi Mail User-Agent: Vivaldi Mail/7.6.3797.63 Content-Transfer-Encoding: quoted-printable Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 From: hanskrentel@yahoo.de (Hans Krentel) On Sunday 19 October 2025 22:09:52 (+02:00), Tim D=C3=BCsterhus wrote: > Hi >=20 > On 10/19/25 21:47, Hans Krentel wrote: > > As it does today, no change. If you use a word that would expand to a = constant name as it does today, you need to quote it. >=20 > That was not what I was asking for. >=20 > You are proposing to warn for undefined constants. How do you plan to = warn only for undefined constants, but not for unquoted strings? > > Best regards > Tim D=C3=BCsterhus >=20 Hi Tim, Thanks for the clarification, and my apologies=E2=80=94my previous, = shorter answer missed the mark. Let me outline my understanding in greater detail. As noted in the implementation notes, I looked into `zend_ini_get_constant()` and saw that the zend-ini parser doesn't handle all unquoted strings, but only those matching `IS_CONSTANT_AST`, which stems from: CONSTANT [a-zA-Z_][a-zA-Z0-9_]* My proposal is to apply the same test (`Z_OPT_CONSTANT(tmp)`) *before* probing for the constant's existence (currently done via `c =3D zend_get_constant(Z_STR_P(name)) !=3D 0`). This would address the current ordering flaw in the parser as an incidental improvement. More importantly, regarding your question, I've now looked more closely at the `CONSTANT` regex and realize I was mistaken: I had assumed it matched uppercase-only names, but it actually includes both upper- and lowercase letters. So, there would indeed be a change compared to my earlier answer: I now propose using only uppercase names for constant resolution (and thus for the warning you asked about). This would mean: - Allowing unquoted strings with lowercase characters to pass through unchanged. - Restricting constant name resolution to a pattern like: CONSTANT_NAME [A-Z_][A-Z0-9_]* ...possibly with a minimum length greater than one, as shown. In my view, this improves clarity in configuration contexts--at this level, case-folding to lowercase shouldn't be necessary. That said, your perspective may differ, and perhaps this was exactly the point you were raising. This revised understanding also suggests a more granular approach to differentiating cases, enabling richer behavior. But first, I'd appreciate your feedback on this more detailed reply. Best regards, Hans