From 19bc5e695654c799d082257776b3a118cf60a7fa Mon Sep 17 00:00:00 2001 From: Daniel Scherzer Date: Fri, 17 Apr 2026 18:04:25 -0700 Subject: [PATCH] gen_stub: set up PHP 8.6 support Add the new known string from #20951 --- build/gen_stub.php | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/build/gen_stub.php b/build/gen_stub.php index eca1ab3e8c13..54fb4fe78a23 100755 --- a/build/gen_stub.php +++ b/build/gen_stub.php @@ -26,6 +26,7 @@ const PHP_83_VERSION_ID = 80300; const PHP_84_VERSION_ID = 80400; const PHP_85_VERSION_ID = 80500; +const PHP_86_VERSION_ID = 80600; const ALL_PHP_VERSION_IDS = [ PHP_70_VERSION_ID, PHP_80_VERSION_ID, @@ -34,6 +35,7 @@ PHP_83_VERSION_ID, PHP_84_VERSION_ID, PHP_85_VERSION_ID, + PHP_86_VERSION_ID, ]; // file_put_contents() but with a success message printed after saving @@ -2900,6 +2902,11 @@ class StringBuilder { '8.5' => 'ZEND_STR_8_DOT_5', ]; + // NEW in 8.6 + private const PHP_86_KNOWN = [ + "arguments" => "ZEND_STR_ARGUMENTS", + ]; + /** * Get an array of three strings: * - declaration of zend_string, if needed, or empty otherwise @@ -2938,6 +2945,10 @@ public static function getString( } $include = self::PHP_80_KNOWN; switch ($minPhp) { + case PHP_86_VERSION_ID: + $include = array_merge($include, self::PHP_86_KNOWN); + // Intentional fall through + case PHP_85_VERSION_ID: $include = array_merge($include, self::PHP_85_KNOWN); // Intentional fall through @@ -4127,7 +4138,8 @@ public function __construct(array $fileTags) { throw new Exception( "Legacy PHP version must be one of: \"" . PHP_70_VERSION_ID . "\" (PHP 7.0), \"" . PHP_80_VERSION_ID . "\" (PHP 8.0), " . "\"" . PHP_81_VERSION_ID . "\" (PHP 8.1), \"" . PHP_82_VERSION_ID . "\" (PHP 8.2), \"" . PHP_83_VERSION_ID . "\" (PHP 8.3), " . - "\"" . PHP_84_VERSION_ID . "\" (PHP 8.4), \"" . PHP_85_VERSION_ID . "\" (PHP 8.5), \"" . $tag->value . "\" provided" + "\"" . PHP_84_VERSION_ID . "\" (PHP 8.4), \"" . PHP_85_VERSION_ID . "\" (PHP 8.5), \"" . PHP_86_VERSION_ID . "\" (PHP 8.6), " . + $tag->value . "\" provided" ); }