Le récapitulatif hebdomadaire de PHP internals du 2 septembre 2026 comptait 11 sujets. Le principal : Luca Rodenhäuser a examiné la règle du scanner qui définit un identifiant PHP en octets, pas en caractères. Tout octet supérieur ou égal à 0x80 est accepté, donc $x suivi d'une espace insécable est une variable distincte à l'apparence identique. Il a proposé un declare par fichier pour restreindre cela et a scanné les 250 paquets Packagist les plus installés : un seul identifiant casserait.

Larry Garfield a suggéré de sauter l'opt-in et d'imposer la règle dans PHP 9, estimant que 99,99 % des développeurs ne remarqueraient rien. Rodenhäuser a relancé l'analyse sur les 5 000 premiers paquets. Un demi-million de fichiers ont révélé 1 447 identifiants non ASCII, dont 91 % dans math-php, où les noms de variables épellent les formules. Derick Rethans a demandé si 13,7 Ko de tables dans chaque processus PHP en valaient la peine, Juliette Reinders Folmer a interrogé les variables variables, Rowan Tommins la part de rejet contre normalisation. Rodenhäuser a scindé sa proposition en trois : un diagnostic, une règle de bonne formation et une règle de conformité.

Nick Sdot a ouvert une RFC pour mettre fin au soutien de PEAR par PHP. Après trois mois de relecture des discussions passées, il a construit un miroir statique pour que l'outil en ligne de commande continue de fonctionner. Son argument : PEAR est partiellement cassé, pollué de spam, à peine actif et non maintenu. Rowan Tommins l'a soutenu. Sdot a compté 6 paquets publiant encore sur PEAR, dont 3 d'infrastructure propre à PEAR et 2 récemment marqués non maintenus. Il reste exactement un paquet indépendant maintenu : Net_SMTP.

Sjoerd Langkemper a annoncé un vote pour qu'octdec, hexdec, bindec et base_convert lancent un ValueError sur entrée invalide. Tim Düsterhus a objecté que passer une entrée non fiable à ces fonctions est un cas d'usage attendu, donc la hiérarchie Error est inadaptée ; les développeurs voudront intercepter le résultat. Il a cité la politique des standards de codage : la hiérarchie Error ne doit pas servir aux erreurs attendues et interceptables en fonctionnement normal. La conversion de base est du parsing.

La fonction de filtrage de tableaux de Sepehr Mahmoudi est revenue, renommée array_str_contains et ciblée sur PHP 8.7. Seifeddine Gmati l'a jugée redondante ; le même argument justifierait array_str_starts_with et des centaines d'autres. Bruce Weirdan a demandé si le surcoût des closures ne devrait pas plutôt être corrigé, ce qui accélérerait tout builtin prenant un callable. Mahmoudi a concédé qu'un filtre doit lire tout le tableau au lieu de s'arrêter à la première correspondance, et a promis une analyse statique sur Packagist.

Le débat sur les courriels écrits par machine est devenu concret quand Juris a rédigé un projet de lignes directrices : les nouveaux venus devraient rédiger leurs propres messages sans aide de l'IA, un anglais parfait n'étant pas exigé. Il a écrit trois paragraphes en letton, les a traduits automatiquement et a envoyé les deux versions. Sepehr Mahmoudi a reconnu qu'une IA écrivait ses réponses. Weilin Du a demandé d'arrêter de nommer les gens ; Yuya Hamada s'est excusé. Aucune politique écrite n'existe.

Théo Attali a proposé une constante de format de date avec millisecondes et un Z final, à l'image du toISOString de JavaScript, car DATE_RFC3339_EXTENDED utilise un décalage numérique. Andreas Heigl, auteur des constantes extended, a refusé d'en ajouter et a renvoyé vers un formateur userland fonctionnant depuis PHP 5.3. Tim Düsterhus a réorienté l'idée vers la nouvelle API date et heure : PHP 8.6 en livre la première brique, et le Time\Instant proposé, sans fuseau horaire, serait l'endroit naturel pour une méthode au format Zulu.

Riaan de Beer a proposé libxml-rs, une réimplémentation native en Rust de libxml2, compatible au niveau de l'ABI C. xmllint et xmlcatalog seraient identiques à l'octet près face à libxml2 2.15.3 sur 1 110 tests. Il demandait uniquement une compilation de test expérimentale. La liste a plutôt contesté son affirmation selon laquelle libxml2 serait sans maintenance depuis décembre 2025 ; Pierre a noté de nombreux commits depuis, d'autres ont cité de nouveaux mainteneurs, dont l'un aide directement php-src.

Sur la question des polyfills userland dans les RFC, Nicolas Grekas a déclaré que toute fonctionnalité polyfillable finit de toute façon dans le monorepo symfony/polyfill, et que la version livrée diffère souvent de la RFC ; les polyfills ont besoin d'un flux de travail séparé. Tim Düsterhus a rejeté l'argument de benchmark de Larry Garfield : la performance est une cible mouvante, les ajouts à la stdlib doivent être maintenus plus de 15 ans, et l'utilité ainsi que la conception d'API doivent décider. PIE rend les extensions privées plus faciles que jamais.

Trois versions en trois jours : Calvin Buckley a publié PHP 8.4.25, une version de sécurité ; Daniel Scherzer a publié 8.5.10, un correctif de bogues ; Matteo Beccati a mis 8.6.0beta2 en test. Nick Sdot a répondu à la RFC nameof en souhaitant la voir en 8.7, en réponse à un message de mai 2023. Aucune RFC n'est en phase de vote depuis trois semaines.