La synthèse de PHP Internals du 1er octobre 2026 regroupe 14 débats. Le RFC bcrypt divise sur le risque de compatibilité. Sjoerd Langkemper veut dépracier les entrées dépassant 72 octets en 8.7, puis les rejeter avec ValueError en 8.8. À FreshRSS, un nonce de 64 caractères précédait le mot de passe et consommait la fenêtre complète de bcrypt (CVE-2025-68402). Kamil Tekiela et Tim Düsterhus situent la vérification de longueur chez l'application. Tim a noté que la limite compte les octets, donc les mots de passe non ASCII l'atteindent plus tôt. Rowan Tommins a défendu l'API password_* pour rendre le traitement sûr accessible sans expertise algorithmique. Robert Chapin a montré qu'un mot de passe tronqué valide contre le hash du complet. Tim juge la correction pire que le bug. Derick Rethans s'y opposa. Langkemper demanda si changer d'abord le hash par défaut aiderait.

Le prototype CompiledRegex de Gina P. Banyard a reçu 18 réponses. Larry Garfield, Casper Langemeijer, Jordi Kroon et Juris Evertovskis demandent d'enlever « Compiled » et utiliser simplement Regex. Le design actuel a huit drapeaux booléens. Juris a noté que les arguments nommés aident la lisibilité; Gina préfère un enum set (PHP en manque), Jordi Boggiano veut une factory prenant les lettres de modificateurs connus. Osama Aldemeery rappela qu'une compilation réussie ne garantit pas le succès au matching. Tim Düsterhus proposa que la classe bascule globalement throw-on-error. Aldemeery pourrait reporter son RFC sur les exceptions Regex jusqu'au vote de Banyard.

Io\Terminal de Pratik Bhujel cible 8.7. Il lit nativement la taille du terminal, mode raw avec restauration automatique, touches simples et saisie cachée. Symfony Console a déjà approuvé une pull request utilisant l'extension si disponible. Bhujel a adopté l'idée de garder le mode raw actif tant qu'un token terminal existe, le réinitialiser quand le dernier disparaît. La version 0.3 fait de Terminal l'interface et SystemTerminal la classe concrète. Larry Garfield a critiqué false-on-error et demandé un support de mock. Le RFC bénéficie des 14 jours complets avant une annonce d'intent-to-vote.

Time\Instant obtint toInstant() sur DateTime et DateTimeImmutable. Les sorties ISO gardent à présent les zéros finaux pour montrer la précision. Tim Düsterhus et Derick Rethans n'écriront pas de RFC testing-clocks car ils doutent que cela appartienne au core; Internals est invité à en soumettre un. Mirco Babin souleva huit objections, dont un conflit de nom: Time\Clock et PSR-20 définissent tous les deux now(). Tim veut conserver now() et discutera d'un possible SystemClock::get() avec Derick. Il demanda aussi si les valeurs à précision minutaire pour les horaires de bus comptent comme des instants.

Le RFC de Weilin Du sur les tableaux abrégés convertit =$x en 'x' => $x dans les tableaux, destructuring et foreach. La syntaxe a commencé par deux-points, basculé en une heure au signe égal parce que les deux-points entrent en conflit avec l'opérateur ternaire. Sebastian Bergmann exigea des preuves de code réel et avertit qu'une virgule manquante pourrait silencieusement transformer un programme valide en un autre. David Carlier et Anton Smirnov désignèrent compact et extract. Christian Schneider utilise un patch local depuis des années. Du cita Composer, Laravel, PHPUnit et Symfony, mais penche maintenant vers son retrait.

IO Hooks de Jakub Zelenka rend le code bloquant concurrentiel sans réécriture. PHP a des Fibers depuis 8.1, mais les appels bloquants gèlent toujours le processus entier, forçant AMPHP, ReactPHP et Revolt à construire leurs propres piles I/O. IO Hooks confie les opérations de stream, socket et curl bloquants ainsi que les appels sleep à un provider event-loop, qui suspend la Fiber jusqu'à la fin. Sans provider, PHP se comporte comme aujourd'hui; avec un, sleep(1) dans une Fiber laisse les autres s'exécuter. Le RFC dépend de Polling API Additions, qui comble les lacunes de la Poll API 8.6—sockets, timers, signaux. Les deux sont précoces sans réponses encore.

La liste Internals a supprimé Sepehr Mahmoudi. Derick Rethans l'avertit le 15 sept. pour posts IA et volume de threads. Le modérateur Ilija Tovilo imposa le 21 sept. un thread nouveau/mois et trois courriels/semaine, l'appela final. Quand Mahmoudi posta un RFC intl_date_format, Rethans bloqua l'adresse de php.net, retira l'accès wiki et désinscrit le 28 sept.

PHP 8.6.0RC2 sortit après que RC1 fut abandonné pour défaut d'empaquetage; RC2 est à présent le premier candidat, RC3 dû 8 oct. Mises à jour de sécurité pour 8.5, 8.4, 8.3, 8.2: PHP 8.5.11, 8.4.26, 8.3.35, 8.2.34.

D'autres RFC bougèrent. Le RFC number-base de Langkemper jette désormais une Exception simple au lieu de ValueError pour entrée invalide—mauvais données ne signalent pas un bug du programme. intval inchangé. Juliette Reinders Folmer veut le préfixe b string (relique PHP 6) déprécié; Tim proposa l'ajouter aux dépréciations 8.7. Pedro Veloso flotta un #[Pure] appliqué par le moteur, mais Larry Garfield dit qu'il faut la mémoïsation ou pareil—l'analyse statique ne peut pas le faire. Karoly Negyesi posta pré-RFC et implémentation pour implements … by, déléguant les méthodes d'interface à une propriété façon Kotlin. Alexander Danilov trouva post-quantum OpenSSL marche largement en PHP; offrit petits PRs pour lacunes. RFC endorsement PEAR bloqué en discussion; vote 28 sept. jamais ouvert. Semaine sept consécutive sans RFC au vote.