From 15e92b89ae2fea7d8d2d5b4888a6a16be857ef02 Mon Sep 17 00:00:00 2001 From: Remi Collet Date: Thu, 25 Jun 2020 08:23:30 +0200 Subject: add upstream patch to use hash in gen_stub.php --- c9b9f525a929158736977d6bad938380cad29cc6.patch | 1357 ++++++++++++++++++++++++ php-8.0.0-parser.patch | 14 +- php.spec | 13 +- 3 files changed, 1372 insertions(+), 12 deletions(-) create mode 100644 c9b9f525a929158736977d6bad938380cad29cc6.patch diff --git a/c9b9f525a929158736977d6bad938380cad29cc6.patch b/c9b9f525a929158736977d6bad938380cad29cc6.patch new file mode 100644 index 0000000..f95fcb0 --- /dev/null +++ b/c9b9f525a929158736977d6bad938380cad29cc6.patch @@ -0,0 +1,1357 @@ +From c9b9f525a929158736977d6bad938380cad29cc6 Mon Sep 17 00:00:00 2001 +From: Nikita Popov +Date: Fri, 19 Jun 2020 11:40:31 +0200 +Subject: [PATCH] Include stub hash in generated arginfo files + +The hash is used to check whether the arginfo file needs to be +regenerated. PHP-Parser will only be downloaded if this is actually +necessary. + +This ensures that release artifacts will never try to regenerate +stubs and thus fetch PHP-Parser, as long as you do not modify any +files. + +Closes GH-5739. +--- + Zend/zend_builtin_functions_arginfo.h | 3 +- + Zend/zend_closures_arginfo.h | 3 +- + Zend/zend_exceptions_arginfo.h | 3 +- + Zend/zend_generators_arginfo.h | 3 +- + Zend/zend_interfaces_arginfo.h | 3 +- + Zend/zend_weakrefs_arginfo.h | 3 +- + build/gen_stub.php | 76 ++++++++++++------- + ext/bcmath/bcmath_arginfo.h | 3 +- + ext/bz2/bz2_arginfo.h | 3 +- + ext/calendar/calendar_arginfo.h | 3 +- + ext/com_dotnet/com_extension_arginfo.h | 3 +- + ext/com_dotnet/com_persist_arginfo.h | 3 +- + ext/ctype/ctype_arginfo.h | 3 +- + ext/curl/curl_arginfo.h | 3 +- + ext/curl/curl_file_arginfo.h | 3 +- + ext/date/php_date_arginfo.h | 3 +- + ext/dba/dba_arginfo.h | 3 +- + ext/dom/php_dom_arginfo.h | 3 +- + ext/enchant/enchant_arginfo.h | 3 +- + ext/exif/exif_arginfo.h | 3 +- + ext/ffi/ffi_arginfo.h | 3 +- + ext/fileinfo/fileinfo_arginfo.h | 3 +- + ext/filter/filter_arginfo.h | 3 +- + ext/ftp/ftp_arginfo.h | 3 +- + ext/gd/gd_arginfo.h | 3 +- + ext/gettext/gettext_arginfo.h | 3 +- + ext/gmp/gmp_arginfo.h | 3 +- + ext/hash/hash_arginfo.h | 3 +- + ext/iconv/iconv_arginfo.h | 3 +- + ext/imap/php_imap_arginfo.h | 3 +- + .../breakiterator/breakiterator_arginfo.h | 3 +- + ext/intl/calendar/calendar_arginfo.h | 3 +- + ext/intl/collator/collator_arginfo.h | 3 +- + ext/intl/common/common_arginfo.h | 3 +- + ext/intl/converter/converter_arginfo.h | 3 +- + ext/intl/dateformat/dateformat_arginfo.h | 3 +- + ext/intl/formatter/formatter_arginfo.h | 3 +- + ext/intl/locale/locale_arginfo.h | 3 +- + ext/intl/msgformat/msgformat_arginfo.h | 3 +- + ext/intl/normalizer/normalizer_arginfo.h | 3 +- + ext/intl/php_intl_arginfo.h | 3 +- + .../resourcebundle/resourcebundle_arginfo.h | 3 +- + ext/intl/spoofchecker/spoofchecker_arginfo.h | 3 +- + ext/intl/timezone/timezone_arginfo.h | 3 +- + .../transliterator/transliterator_arginfo.h | 3 +- + ext/intl/uchar/uchar_arginfo.h | 3 +- + ext/json/json_arginfo.h | 3 +- + ext/ldap/ldap_arginfo.h | 3 +- + ext/libxml/libxml_arginfo.h | 3 +- + ext/mbstring/mbstring_arginfo.h | 3 +- + ext/mysqli/mysqli_arginfo.h | 3 +- + ext/odbc/odbc_arginfo.h | 3 +- + ext/opcache/opcache_arginfo.h | 3 +- + ext/openssl/openssl_arginfo.h | 3 +- + ext/pcntl/pcntl_arginfo.h | 3 +- + ext/pcre/php_pcre_arginfo.h | 3 +- + ext/pdo/pdo_arginfo.h | 3 +- + ext/pdo/pdo_dbh_arginfo.h | 3 +- + ext/pdo/pdo_stmt_arginfo.h | 3 +- + ext/phar/phar_object_arginfo.h | 3 +- + ext/posix/posix_arginfo.h | 3 +- + ext/pspell/pspell_arginfo.h | 3 +- + ext/readline/readline_arginfo.h | 3 +- + ext/reflection/php_reflection_arginfo.h | 3 +- + ext/session/session_arginfo.h | 3 +- + ext/shmop/shmop_arginfo.h | 3 +- + ext/simplexml/simplexml_arginfo.h | 3 +- + ext/simplexml/sxe_arginfo.h | 3 +- + ext/skeleton/skeleton_arginfo.h | 3 +- + ext/snmp/snmp_arginfo.h | 3 +- + ext/soap/soap_arginfo.h | 3 +- + ext/sockets/sockets_arginfo.h | 3 +- + ext/sodium/libsodium_arginfo.h | 3 +- + ext/spl/php_spl_arginfo.h | 3 +- + ext/spl/spl_array_arginfo.h | 3 +- + ext/spl/spl_directory_arginfo.h | 3 +- + ext/spl/spl_dllist_arginfo.h | 3 +- + ext/spl/spl_fixedarray_arginfo.h | 3 +- + ext/spl/spl_heap_arginfo.h | 3 +- + ext/spl/spl_iterators_arginfo.h | 3 +- + ext/spl/spl_observer_arginfo.h | 3 +- + ext/sqlite3/sqlite3_arginfo.h | 3 +- + ext/standard/basic_functions_arginfo.h | 3 +- + ext/standard/dir_arginfo.h | 3 +- + ext/standard/dl_arginfo.h | 3 +- + ext/standard/user_filters_arginfo.h | 3 +- + ext/sysvmsg/sysvmsg_arginfo.h | 3 +- + ext/sysvsem/sysvsem_arginfo.h | 3 +- + ext/sysvshm/sysvshm_arginfo.h | 3 +- + ext/tidy/tidy_arginfo.h | 3 +- + ext/tokenizer/tokenizer_arginfo.h | 3 +- + ext/xml/xml_arginfo.h | 3 +- + ext/xmlreader/php_xmlreader_arginfo.h | 3 +- + ext/xmlwriter/php_xmlwriter_arginfo.h | 3 +- + ext/xsl/php_xsl_arginfo.h | 3 +- + ext/zend_test/test_arginfo.h | 3 +- + ext/zip/php_zip_arginfo.h | 3 +- + ext/zlib/zlib_arginfo.h | 3 +- + sapi/apache2handler/php_functions_arginfo.h | 3 +- + sapi/fpm/fpm/fpm_main_arginfo.h | 3 +- + sapi/litespeed/lsapi_main_arginfo.h | 3 +- + sapi/phpdbg/phpdbg_arginfo.h | 3 +- + 102 files changed, 250 insertions(+), 129 deletions(-) + +diff --git a/Zend/zend_builtin_functions_arginfo.h b/Zend/zend_builtin_functions_arginfo.h +index 0fa4ba7f4585..df1f06888ee9 100644 +--- a/Zend/zend_builtin_functions_arginfo.h ++++ b/Zend/zend_builtin_functions_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: dbaaf894f10b6f3c880d08e138dead309f6ed5a4 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_version, 0, 0, IS_STRING, 0) + ZEND_END_ARG_INFO() +diff --git a/Zend/zend_closures_arginfo.h b/Zend/zend_closures_arginfo.h +index 85802bbfb4cd..14c262773196 100644 +--- a/Zend/zend_closures_arginfo.h ++++ b/Zend/zend_closures_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 3352191f3a07009ef853829816a3209156afb0bc */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Closure___construct, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/Zend/zend_exceptions_arginfo.h b/Zend/zend_exceptions_arginfo.h +index db114fbeaad2..6a226954a0c8 100644 +--- a/Zend/zend_exceptions_arginfo.h ++++ b/Zend/zend_exceptions_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 7eb20393f4ca314324d9813983124f724189ce8a */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Throwable_getMessage, 0, 0, IS_STRING, 0) + ZEND_END_ARG_INFO() +diff --git a/Zend/zend_generators_arginfo.h b/Zend/zend_generators_arginfo.h +index c87ef2c93702..22084d9feb9a 100644 +--- a/Zend/zend_generators_arginfo.h ++++ b/Zend/zend_generators_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 18d2bb68729ff622a5c0c124a8822f7ee882c2ec */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_Generator_rewind, 0, 0, IS_VOID, 0) + ZEND_END_ARG_INFO() +diff --git a/Zend/zend_interfaces_arginfo.h b/Zend/zend_interfaces_arginfo.h +index c8f78ce3bd91..1c197d73db7d 100644 +--- a/Zend/zend_interfaces_arginfo.h ++++ b/Zend/zend_interfaces_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 6ec9a1d6d8035af94bdd4953e47bb18164ee2b59 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IteratorAggregate_getIterator, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/Zend/zend_weakrefs_arginfo.h b/Zend/zend_weakrefs_arginfo.h +index 445163525154..3f668b4e0867 100644 +--- a/Zend/zend_weakrefs_arginfo.h ++++ b/Zend/zend_weakrefs_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 7ce222b1a257fc3d524dc5cd123ac102a0dca2bc */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_WeakReference___construct, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/build/gen_stub.php b/build/gen_stub.php +index eb00b3413645..bd30913b69a4 100755 +--- a/build/gen_stub.php ++++ b/build/gen_stub.php +@@ -12,20 +12,6 @@ + + error_reporting(E_ALL); + +-try { +- initPhpParser(); +-} catch (Exception $e) { +- echo "{$e->getMessage()}\n"; +- exit(1); +-} +- +-class CustomPrettyPrinter extends Standard +-{ +- protected function pName_FullyQualified(Name\FullyQualified $node) { +- return implode('\\', $node->parts); +- } +-} +- + function processDirectory(string $dir) { + $it = new RecursiveIteratorIterator( + new RecursiveDirectoryIterator($dir), +@@ -40,11 +26,23 @@ function processDirectory(string $dir) { + } + + function processStubFile(string $stubFile) { +- $arginfoFile = str_replace('.stub.php', '', $stubFile) . '_arginfo.h'; +- + try { +- $fileInfo = parseStubFile($stubFile); +- $arginfoCode = generateArgInfoCode($fileInfo); ++ if (!file_exists($stubFile)) { ++ throw new Exception("File $stubFile does not exist"); ++ } ++ ++ $arginfoFile = str_replace('.stub.php', '', $stubFile) . '_arginfo.h'; ++ $stubCode = file_get_contents($stubFile); ++ $stubHash = computeStubHash($stubCode); ++ $oldStubHash = extractStubHash($arginfoFile); ++ if ($stubHash === $oldStubHash) { ++ /* Stub file did not change, do not regenerate. */ ++ return; ++ } ++ ++ initPhpParser(); ++ $fileInfo = parseStubFile($stubCode); ++ $arginfoCode = generateArgInfoCode($fileInfo, $stubHash); + file_put_contents($arginfoFile, $arginfoCode); + } catch (Exception $e) { + echo "In $stubFile:\n{$e->getMessage()}\n"; +@@ -52,6 +50,23 @@ function processStubFile(string $stubFile) { + } + } + ++function computeStubHash(string $stubCode): string { ++ return sha1(str_replace("\r\n", "\n", $stubCode)); ++} ++ ++function extractStubHash(string $arginfoFile): ?string { ++ if (!file_exists($arginfoFile)) { ++ return null; ++ } ++ ++ $arginfoCode = file_get_contents($arginfoFile); ++ if (!preg_match('/\* Stub hash: ([0-9a-f]+) \*/', $arginfoCode, $matches)) { ++ return null; ++ } ++ ++ return $matches[1]; ++} ++ + class SimpleType { + /** @var string */ + public $name; +@@ -737,18 +752,16 @@ function getFileDocComment(array $stmts): ?DocComment { + return null; + } + +-function parseStubFile(string $fileName): FileInfo { +- if (!file_exists($fileName)) { +- throw new Exception("File $fileName does not exist"); +- } +- +- $code = file_get_contents($fileName); +- ++function parseStubFile(string $code): FileInfo { + $lexer = new PhpParser\Lexer(); + $parser = new PhpParser\Parser\Php7($lexer); + $nodeTraverser = new PhpParser\NodeTraverser; + $nodeTraverser->addVisitor(new PhpParser\NodeVisitor\NameResolver); +- $prettyPrinter = new CustomPrettyPrinter(); ++ $prettyPrinter = new class extends Standard { ++ protected function pName_FullyQualified(Name\FullyQualified $node) { ++ return implode('\\', $node->parts); ++ } ++ }; + + $stmts = $parser->parse($code); + $nodeTraverser->traverse($stmts); +@@ -948,8 +961,9 @@ function generateCodeWithConditions( + return $code; + } + +-function generateArgInfoCode(FileInfo $fileInfo): string { +- $code = "/* This is a generated file, edit the .stub.php file instead. */\n"; ++function generateArgInfoCode(FileInfo $fileInfo, string $stubHash): string { ++ $code = "/* This is a generated file, edit the .stub.php file instead.\n" ++ . " * Stub hash: $stubHash */\n"; + $generatedFuncInfos = []; + $code .= generateCodeWithConditions( + $fileInfo->getAllFuncInfos(), "\n", +@@ -1055,6 +1069,12 @@ function installPhpParser(string $version, string $phpParserDir) { + } + + function initPhpParser() { ++ static $isInitialized = false; ++ if ($isInitialized) { ++ return; ++ } ++ ++ $isInitialized = true; + $version = "4.3.0"; + $phpParserDir = __DIR__ . "/PHP-Parser-$version"; + if (!is_dir($phpParserDir)) { +diff --git a/ext/bcmath/bcmath_arginfo.h b/ext/bcmath/bcmath_arginfo.h +index 46fc5ff9bd3e..83956366a282 100644 +--- a/ext/bcmath/bcmath_arginfo.h ++++ b/ext/bcmath/bcmath_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a1e223f29a06a2292a88c0e90e104cb956f80500 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_bcadd, 0, 2, IS_STRING, 0) + ZEND_ARG_TYPE_INFO(0, left_operand, IS_STRING, 0) +diff --git a/ext/bz2/bz2_arginfo.h b/ext/bz2/bz2_arginfo.h +index 03fe9eb8f0bd..322aaf7215cc 100644 +--- a/ext/bz2/bz2_arginfo.h ++++ b/ext/bz2/bz2_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a5c534b7cd92619dfa0fdf29bd0a94fcda27f089 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_bzopen, 0, 0, 2) + ZEND_ARG_INFO(0, file) +diff --git a/ext/calendar/calendar_arginfo.h b/ext/calendar/calendar_arginfo.h +index 620f3daec3b6..22f259833b6c 100644 +--- a/ext/calendar/calendar_arginfo.h ++++ b/ext/calendar/calendar_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 1ace9d7ae3e505ae2e14323e21fa6ac0a490896d */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_cal_days_in_month, 0, 3, IS_LONG, 0) + ZEND_ARG_TYPE_INFO(0, calendar, IS_LONG, 0) +diff --git a/ext/com_dotnet/com_extension_arginfo.h b/ext/com_dotnet/com_extension_arginfo.h +index f4b924358ce1..4ee6d3750469 100644 +--- a/ext/com_dotnet/com_extension_arginfo.h ++++ b/ext/com_dotnet/com_extension_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 965dcbb494d51bb3fd41a2898a1c53d7478fd699 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_variant_set, 0, 2, IS_VOID, 0) + ZEND_ARG_OBJ_INFO(0, variant, variant, 0) +diff --git a/ext/com_dotnet/com_persist_arginfo.h b/ext/com_dotnet/com_persist_arginfo.h +index 0abd6505de68..87b41f83f550 100644 +--- a/ext/com_dotnet/com_persist_arginfo.h ++++ b/ext/com_dotnet/com_persist_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 69de4fb111796d28e92e16630221e2d02817e742 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_COMPersistHelper___construct, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, com_object, VARIANT, 1) +diff --git a/ext/ctype/ctype_arginfo.h b/ext/ctype/ctype_arginfo.h +index 6529fd503ed4..4ee065b03bfd 100644 +--- a/ext/ctype/ctype_arginfo.h ++++ b/ext/ctype/ctype_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a5de84e1cb6919e7dfc69a42b7f05967ebca24c3 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_ctype_alnum, 0, 1, _IS_BOOL, 0) + ZEND_ARG_INFO(0, text) +diff --git a/ext/curl/curl_arginfo.h b/ext/curl/curl_arginfo.h +index d779493aa89d..30f2e839a815 100644 +--- a/ext/curl/curl_arginfo.h ++++ b/ext/curl/curl_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: ca65615cacfe914f3511007fd393169ffededf34 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_curl_close, 0, 1, IS_VOID, 0) + ZEND_ARG_OBJ_INFO(0, handle, CurlHandle, 0) +diff --git a/ext/curl/curl_file_arginfo.h b/ext/curl/curl_file_arginfo.h +index f387589f6a14..526bd322f505 100644 +--- a/ext/curl/curl_file_arginfo.h ++++ b/ext/curl/curl_file_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 2dbca0eed1723e959b2a56d6035239b189f52495 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_CURLFile___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +diff --git a/ext/date/php_date_arginfo.h b/ext/date/php_date_arginfo.h +index e3fa98281127..5c002c2b3749 100644 +--- a/ext/date/php_date_arginfo.h ++++ b/ext/date/php_date_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 51ffecfc0b15a2368719d5a76fa6788b3a36887e */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_strtotime, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, time, IS_STRING, 0) +diff --git a/ext/dba/dba_arginfo.h b/ext/dba/dba_arginfo.h +index ae4b84cd946d..bc8532e9a6b1 100644 +--- a/ext/dba/dba_arginfo.h ++++ b/ext/dba/dba_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 3f28cb0c990d15e6d2f34c40c2f0219b11d2d5e4 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_dba_popen, 0, 0, 2) + ZEND_ARG_INFO(0, path) +diff --git a/ext/dom/php_dom_arginfo.h b/ext/dom/php_dom_arginfo.h +index c7fd0c81df44..5e3051111887 100644 +--- a/ext/dom/php_dom_arginfo.h ++++ b/ext/dom/php_dom_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: b5bb577aa2608cc62fa56852ab2433ec03c7fc26 */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_dom_import_simplexml, 0, 1, DOMElement, 1) + ZEND_ARG_TYPE_INFO(0, node, IS_OBJECT, 0) +diff --git a/ext/enchant/enchant_arginfo.h b/ext/enchant/enchant_arginfo.h +index cb1644e0aa2b..adbbc3779fda 100644 +--- a/ext/enchant/enchant_arginfo.h ++++ b/ext/enchant/enchant_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 5a67e10da7a70552110e807118a33d1d7bb028da */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_enchant_broker_init, 0, 0, EnchantBroker, MAY_BE_FALSE) + ZEND_END_ARG_INFO() +diff --git a/ext/exif/exif_arginfo.h b/ext/exif/exif_arginfo.h +index 5627e3d0ed2c..dfe2d97e9b11 100644 +--- a/ext/exif/exif_arginfo.h ++++ b/ext/exif/exif_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 603888c5295306e86fabce6d6f5367376c666cfe */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_exif_tagname, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0) +diff --git a/ext/ffi/ffi_arginfo.h b/ext/ffi/ffi_arginfo.h +index 10468cb0e712..7a14a6e12a0a 100644 +--- a/ext/ffi/ffi_arginfo.h ++++ b/ext/ffi/ffi_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: e66d306e0dbe08ec3d66935c69ab9e36b9b8165a */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_class_FFI_cdef, 0, 0, FFI, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, code, IS_STRING, 0, "\"\"") +diff --git a/ext/fileinfo/fileinfo_arginfo.h b/ext/fileinfo/fileinfo_arginfo.h +index 1f948ee3339e..95fe4fc98bf7 100644 +--- a/ext/fileinfo/fileinfo_arginfo.h ++++ b/ext/fileinfo/fileinfo_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: b8bfd01bd5a9a181550160e39c50a8cc047f15cd */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_finfo_open, 0, 0, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_LONG, 0, "FILEINFO_NONE") +diff --git a/ext/filter/filter_arginfo.h b/ext/filter/filter_arginfo.h +index bf615fc847de..00d18092500f 100644 +--- a/ext/filter/filter_arginfo.h ++++ b/ext/filter/filter_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 54d4bb809e05c73a1a16174bce578377f7cd8f31 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_filter_has_var, 0, 2, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0) +diff --git a/ext/ftp/ftp_arginfo.h b/ext/ftp/ftp_arginfo.h +index 738f8e9284d3..9383bce47647 100644 +--- a/ext/ftp/ftp_arginfo.h ++++ b/ext/ftp/ftp_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 0bbaf1b0aed026d0ed32274bc1084b363528bb61 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_ftp_connect, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, host, IS_STRING, 0) +diff --git a/ext/gd/gd_arginfo.h b/ext/gd/gd_arginfo.h +index eb60f889ef88..b8e95e7cd988 100644 +--- a/ext/gd/gd_arginfo.h ++++ b/ext/gd/gd_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: ce2eb70f449197eca39ca5d8c53ee1369577b035 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gd_info, 0, 0, IS_ARRAY, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/gettext/gettext_arginfo.h b/ext/gettext/gettext_arginfo.h +index c36f178d1d31..678fcf704dcc 100644 +--- a/ext/gettext/gettext_arginfo.h ++++ b/ext/gettext/gettext_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 29c84ba2a2aa940baec3bd32503fc7c8e67885fe */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_textdomain, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, domain, IS_STRING, 1) +diff --git a/ext/gmp/gmp_arginfo.h b/ext/gmp/gmp_arginfo.h +index 4cb06da28ef4..520820424149 100644 +--- a/ext/gmp/gmp_arginfo.h ++++ b/ext/gmp/gmp_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 3f96612dbbeac0ae619461e400e91b3a15e0cd9c */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_gmp_init, 0, 1, GMP, MAY_BE_FALSE) + ZEND_ARG_INFO(0, number) +diff --git a/ext/hash/hash_arginfo.h b/ext/hash/hash_arginfo.h +index 13e95aa03092..c09fd1200162 100644 +--- a/ext/hash/hash_arginfo.h ++++ b/ext/hash/hash_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 2972dfa9fbf8c83557614063a68c2f1500fa5955 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_hash, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, algo, IS_STRING, 0) +diff --git a/ext/iconv/iconv_arginfo.h b/ext/iconv/iconv_arginfo.h +index 8c50c2332b60..3702e5739bdf 100644 +--- a/ext/iconv/iconv_arginfo.h ++++ b/ext/iconv/iconv_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 4e26168b04450adf510a4e638184c46757679ac1 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_iconv_strlen, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0) +diff --git a/ext/imap/php_imap_arginfo.h b/ext/imap/php_imap_arginfo.h +index 4631c1c2c55b..fd1f7efef24f 100644 +--- a/ext/imap/php_imap_arginfo.h ++++ b/ext/imap/php_imap_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 1105c40befb73bbc51cc9438d53404801338a15c */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_imap_open, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, mailbox, IS_STRING, 0) +diff --git a/ext/intl/breakiterator/breakiterator_arginfo.h b/ext/intl/breakiterator/breakiterator_arginfo.h +index 659cb21407af..6c9f574d1e48 100644 +--- a/ext/intl/breakiterator/breakiterator_arginfo.h ++++ b/ext/intl/breakiterator/breakiterator_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 3e28f27c89a4f03e9d67d78f4103e16128673e27 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlBreakIterator_createCharacterInstance, 0, 0, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, locale, IS_STRING, 1, "null") +diff --git a/ext/intl/calendar/calendar_arginfo.h b/ext/intl/calendar/calendar_arginfo.h +index 056b2b687165..d80500a88721 100644 +--- a/ext/intl/calendar/calendar_arginfo.h ++++ b/ext/intl/calendar/calendar_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: e9aea4eb45aba216347d3cf821cf5adebc217ba1 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlCalendar___construct, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/intl/collator/collator_arginfo.h b/ext/intl/collator/collator_arginfo.h +index 8e2660cfe90b..7d045b35a8be 100644 +--- a/ext/intl/collator/collator_arginfo.h ++++ b/ext/intl/collator/collator_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 95fee5001472494653e6a83467c3c0079ea70728 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Collator___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0) +diff --git a/ext/intl/common/common_arginfo.h b/ext/intl/common/common_arginfo.h +index 00cad34620f7..08679923cb05 100644 +--- a/ext/intl/common/common_arginfo.h ++++ b/ext/intl/common/common_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: cf905a693064ae31b6434e84f6c63bf7c9b804a6 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlIterator_current, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/intl/converter/converter_arginfo.h b/ext/intl/converter/converter_arginfo.h +index 8cfc756be62e..5a72ad68eeef 100644 +--- a/ext/intl/converter/converter_arginfo.h ++++ b/ext/intl/converter/converter_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 3c63c9077f864e122292eef8655489549de9277a */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_UConverter___construct, 0, 0, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, destination_encoding, IS_STRING, 1, "null") +diff --git a/ext/intl/dateformat/dateformat_arginfo.h b/ext/intl/dateformat/dateformat_arginfo.h +index 08bea3335ded..0dadfd9dd06d 100644 +--- a/ext/intl/dateformat/dateformat_arginfo.h ++++ b/ext/intl/dateformat/dateformat_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 86faf2e51b67db2801ce691d4d24bfdae5feb6fc */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlDateFormatter___construct, 0, 0, 3) + ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1) +diff --git a/ext/intl/formatter/formatter_arginfo.h b/ext/intl/formatter/formatter_arginfo.h +index 7336fa1b44f0..051a98f941e9 100644 +--- a/ext/intl/formatter/formatter_arginfo.h ++++ b/ext/intl/formatter/formatter_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 3ff6f141d025bccb37ff597089f00bcc72462627 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_NumberFormatter___construct, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0) +diff --git a/ext/intl/locale/locale_arginfo.h b/ext/intl/locale/locale_arginfo.h +index dd8fd4e1d6c1..9a6e27d48d9a 100644 +--- a/ext/intl/locale/locale_arginfo.h ++++ b/ext/intl/locale/locale_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 6d010c8797cbf11f12f13ce37eb8b36633bdbafb */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Locale_getDefault, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/intl/msgformat/msgformat_arginfo.h b/ext/intl/msgformat/msgformat_arginfo.h +index 3ee79eadec60..efbc1e7d6994 100644 +--- a/ext/intl/msgformat/msgformat_arginfo.h ++++ b/ext/intl/msgformat/msgformat_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: ffa9513a18a634b034b0490bc712d097dc8d36e8 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_MessageFormatter___construct, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 0) +diff --git a/ext/intl/normalizer/normalizer_arginfo.h b/ext/intl/normalizer/normalizer_arginfo.h +index aee7284c8b42..82006f52ea75 100644 +--- a/ext/intl/normalizer/normalizer_arginfo.h ++++ b/ext/intl/normalizer/normalizer_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a1f54793e243d30e75cefd4f9aea17f1509a9c8d */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Normalizer_normalize, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0) +diff --git a/ext/intl/php_intl_arginfo.h b/ext/intl/php_intl_arginfo.h +index 9f8b0c12db52..2e16d16be776 100644 +--- a/ext/intl/php_intl_arginfo.h ++++ b/ext/intl/php_intl_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: f5411cdc67ac288183c4210932b222c406bfe254 */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_intlcal_create_instance, 0, 0, IntlCalendar, 1) + ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, timeZone, "null") +diff --git a/ext/intl/resourcebundle/resourcebundle_arginfo.h b/ext/intl/resourcebundle/resourcebundle_arginfo.h +index 524e41e0bb28..4060cdea5948 100644 +--- a/ext/intl/resourcebundle/resourcebundle_arginfo.h ++++ b/ext/intl/resourcebundle/resourcebundle_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 4bc15bffefcb91a7462dc8c66508f8d16b1c6c49 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ResourceBundle___construct, 0, 0, 2) + ZEND_ARG_TYPE_INFO(0, locale, IS_STRING, 1) +diff --git a/ext/intl/spoofchecker/spoofchecker_arginfo.h b/ext/intl/spoofchecker/spoofchecker_arginfo.h +index c32fe376c443..26ca66080a7e 100644 +--- a/ext/intl/spoofchecker/spoofchecker_arginfo.h ++++ b/ext/intl/spoofchecker/spoofchecker_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: dbcdb94753d19921594c48a735d6bd9194b02996 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Spoofchecker___construct, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/intl/timezone/timezone_arginfo.h b/ext/intl/timezone/timezone_arginfo.h +index 58dbecf28d9e..494c46391b5d 100644 +--- a/ext/intl/timezone/timezone_arginfo.h ++++ b/ext/intl/timezone/timezone_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: df98b2edbdf806c52a9c165b52124b6b0de7acb2 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlTimeZone___construct, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/intl/transliterator/transliterator_arginfo.h b/ext/intl/transliterator/transliterator_arginfo.h +index 66ec56e5e041..d596fdc72c50 100644 +--- a/ext/intl/transliterator/transliterator_arginfo.h ++++ b/ext/intl/transliterator/transliterator_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 52c803e82863ebdbe7a2fdcbe8508fb22984cbfd */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Transliterator___construct, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/intl/uchar/uchar_arginfo.h b/ext/intl/uchar/uchar_arginfo.h +index 006e14fa2490..6f0175b803e1 100644 +--- a/ext/intl/uchar/uchar_arginfo.h ++++ b/ext/intl/uchar/uchar_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 2f9658fe9c23180244786ed48a5ca542b7ed95ea */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_IntlChar_hasBinaryProperty, 0, 0, 2) + ZEND_ARG_TYPE_MASK(0, codepoint, MAY_BE_LONG|MAY_BE_STRING, NULL) +diff --git a/ext/json/json_arginfo.h b/ext/json/json_arginfo.h +index 9514abf19f5f..bbcebf2a0b90 100644 +--- a/ext/json/json_arginfo.h ++++ b/ext/json/json_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 7dbc9b323b73714227d91cc9566cc3c0c90cd7be */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_json_encode, 0, 1, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, value, IS_MIXED, 0) +diff --git a/ext/ldap/ldap_arginfo.h b/ext/ldap/ldap_arginfo.h +index 9c63bda1a46f..1ecbc2e3955a 100644 +--- a/ext/ldap/ldap_arginfo.h ++++ b/ext/ldap/ldap_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 53051e130a22dc519676c7a91529d2f9f7d1e6ad */ + + #if defined(HAVE_ORALDAP) + ZEND_BEGIN_ARG_INFO_EX(arginfo_ldap_connect, 0, 0, 0) +diff --git a/ext/libxml/libxml_arginfo.h b/ext/libxml/libxml_arginfo.h +index 5d28e7df7e57..bf4bc2c01dd3 100644 +--- a/ext/libxml/libxml_arginfo.h ++++ b/ext/libxml/libxml_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 2d793e5134ea8633c432f03d20c1d8b80a05795b */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_libxml_set_streams_context, 0, 1, IS_VOID, 0) + ZEND_ARG_INFO(0, context) +diff --git a/ext/mbstring/mbstring_arginfo.h b/ext/mbstring/mbstring_arginfo.h +index 47f0f2db44e4..9eabe3b7ea92 100644 +--- a/ext/mbstring/mbstring_arginfo.h ++++ b/ext/mbstring/mbstring_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 0be93f43fd04fb04e07076006a5c1a94bf6afad0 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mb_language, 0, 0, MAY_BE_STRING|MAY_BE_BOOL) + ZEND_ARG_TYPE_INFO(0, language, IS_STRING, 0) +diff --git a/ext/mysqli/mysqli_arginfo.h b/ext/mysqli/mysqli_arginfo.h +index b3329c6be64d..cb307a6743df 100644 +--- a/ext/mysqli/mysqli_arginfo.h ++++ b/ext/mysqli/mysqli_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 1d194e0ef5dbdbf6ab0fb5512ee42dfad08ea5a0 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_mysqli_affected_rows, 0, 1, MAY_BE_LONG|MAY_BE_STRING) + ZEND_ARG_OBJ_INFO(0, mysql_link, mysqli, 0) +diff --git a/ext/odbc/odbc_arginfo.h b/ext/odbc/odbc_arginfo.h +index 9e41b0433ab2..69cdfa9148d3 100644 +--- a/ext/odbc/odbc_arginfo.h ++++ b/ext/odbc/odbc_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 4abab509eb27b93c15f03313e80c90400f7948d0 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close_all, 0, 0, IS_VOID, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/opcache/opcache_arginfo.h b/ext/opcache/opcache_arginfo.h +index f3013efa9662..82ca83fd81f0 100644 +--- a/ext/opcache/opcache_arginfo.h ++++ b/ext/opcache/opcache_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 64f07c411732f60fed22267ee5e702a37e399879 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_opcache_reset, 0, 0, _IS_BOOL, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/openssl/openssl_arginfo.h b/ext/openssl/openssl_arginfo.h +index 77df5ca20610..e9442fbdf717 100644 +--- a/ext/openssl/openssl_arginfo.h ++++ b/ext/openssl/openssl_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 0d04e9173f45a10b9f6614b79029d96a528bec49 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_export_to_file, 0, 2, _IS_BOOL, 0) + ZEND_ARG_INFO(0, x509) +diff --git a/ext/pcntl/pcntl_arginfo.h b/ext/pcntl/pcntl_arginfo.h +index a07033065f6e..31dc8613c034 100644 +--- a/ext/pcntl/pcntl_arginfo.h ++++ b/ext/pcntl/pcntl_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: c87eae3de097554566cf3e285c1a2542947d6ff9 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pcntl_fork, 0, 0, IS_LONG, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/pcre/php_pcre_arginfo.h b/ext/pcre/php_pcre_arginfo.h +index 52a48798c17d..b63bfd5856e0 100644 +--- a/ext/pcre/php_pcre_arginfo.h ++++ b/ext/pcre/php_pcre_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 2e7402e33a485cd3c1a74c0d6210214b3e7c4e9a */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_preg_match, 0, 2, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, pattern, IS_STRING, 0) +diff --git a/ext/pdo/pdo_arginfo.h b/ext/pdo/pdo_arginfo.h +index fd3aebfa9c70..1dda2fd42ace 100644 +--- a/ext/pdo/pdo_arginfo.h ++++ b/ext/pdo/pdo_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 5f8d0ae7732bdca8c60638021c4368f55d62826f */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_pdo_drivers, 0, 0, IS_ARRAY, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/pdo/pdo_dbh_arginfo.h b/ext/pdo/pdo_dbh_arginfo.h +index 1f9e7c33f4a8..6e67ad0bf730 100644 +--- a/ext/pdo/pdo_dbh_arginfo.h ++++ b/ext/pdo/pdo_dbh_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 38748c44d78c0173218bcb771b466d2a04bc87ad */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDO___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0) +diff --git a/ext/pdo/pdo_stmt_arginfo.h b/ext/pdo/pdo_stmt_arginfo.h +index 2f4a9f63c108..f1b0f2fe06ad 100644 +--- a/ext/pdo/pdo_stmt_arginfo.h ++++ b/ext/pdo/pdo_stmt_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 30b801be462ed1e60e34f937e6dd746184866028 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_PDOStatement_bindColumn, 0, 0, 2) + ZEND_ARG_TYPE_MASK(0, column, MAY_BE_LONG|MAY_BE_STRING, NULL) +diff --git a/ext/phar/phar_object_arginfo.h b/ext/phar/phar_object_arginfo.h +index c0cf1a9c63f5..8c6294d32463 100644 +--- a/ext/phar/phar_object_arginfo.h ++++ b/ext/phar/phar_object_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: fd4f05b74248e4f7efb234cac8e3a90e17037ee0 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Phar___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +diff --git a/ext/posix/posix_arginfo.h b/ext/posix/posix_arginfo.h +index 06dad22c62dc..fc6f34593e8f 100644 +--- a/ext/posix/posix_arginfo.h ++++ b/ext/posix/posix_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 8b74b3201e5a89a25d69753f3078e72ec0395500 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_posix_kill, 0, 2, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, pid, IS_LONG, 0) +diff --git a/ext/pspell/pspell_arginfo.h b/ext/pspell/pspell_arginfo.h +index f09b2db79f2b..7fe58664415c 100644 +--- a/ext/pspell/pspell_arginfo.h ++++ b/ext/pspell/pspell_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 83cadd382dfcccf598b743dfdccad09eb39e30c2 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_pspell_new, 0, 1, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, language, IS_STRING, 0) +diff --git a/ext/readline/readline_arginfo.h b/ext/readline/readline_arginfo.h +index 989163efd534..1b547aeefb9c 100644 +--- a/ext/readline/readline_arginfo.h ++++ b/ext/readline/readline_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 00f57c17d30b8071c9e3e231f5c9e0376799ed48 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_readline, 0, 0, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, prompt, IS_STRING, 1, "null") +diff --git a/ext/reflection/php_reflection_arginfo.h b/ext/reflection/php_reflection_arginfo.h +index ce3c69de09ac..89047a96f49b 100644 +--- a/ext/reflection/php_reflection_arginfo.h ++++ b/ext/reflection/php_reflection_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 36c0a18b7bd07ac8835ae9130f2495eceac0a176 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Reflection_getModifierNames, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, modifiers, IS_LONG, 0) +diff --git a/ext/session/session_arginfo.h b/ext/session/session_arginfo.h +index 69f54cf851f7..10556941acbc 100644 +--- a/ext/session/session_arginfo.h ++++ b/ext/session/session_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: c026a3449eacd0873d72423483d375d40105e9a0 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_session_name, 0, 0, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, name, IS_STRING, 1, "null") +diff --git a/ext/shmop/shmop_arginfo.h b/ext/shmop/shmop_arginfo.h +index 8832596db1db..39f8615783cb 100644 +--- a/ext/shmop/shmop_arginfo.h ++++ b/ext/shmop/shmop_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a2e7d50e79d253e7136a54222346341003cc3b04 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_shmop_open, 0, 0, 4) + ZEND_ARG_TYPE_INFO(0, key, IS_LONG, 0) +diff --git a/ext/simplexml/simplexml_arginfo.h b/ext/simplexml/simplexml_arginfo.h +index 1a3845076495..6e3414595625 100644 +--- a/ext/simplexml/simplexml_arginfo.h ++++ b/ext/simplexml/simplexml_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: f74d2fc54ca25216f1b54b0776c480d5e8d297fb */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_simplexml_load_file, 0, 1, SimpleXMLElement, MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +diff --git a/ext/simplexml/sxe_arginfo.h b/ext/simplexml/sxe_arginfo.h +index c21cf3da24cc..9c76e7dbf5d4 100644 +--- a/ext/simplexml/sxe_arginfo.h ++++ b/ext/simplexml/sxe_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 1ac1e57f7ec3e8a0340b74f0497e1eb9a2b7f663 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SimpleXMLIterator_rewind, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/skeleton/skeleton_arginfo.h b/ext/skeleton/skeleton_arginfo.h +index 3aab40365ca3..9157c66bfd7b 100644 +--- a/ext/skeleton/skeleton_arginfo.h ++++ b/ext/skeleton/skeleton_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 7eb3fd4083c98e6dffc8b02b6373b7ce9cbf228d */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_test1, 0, 0, IS_VOID, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/snmp/snmp_arginfo.h b/ext/snmp/snmp_arginfo.h +index ed907a7dbda8..b12f4f8a249b 100644 +--- a/ext/snmp/snmp_arginfo.h ++++ b/ext/snmp/snmp_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 2b0a8233a01de36e93c025bc40c3a2f707825595 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_snmpget, 0, 3, MAY_BE_ARRAY|MAY_BE_BOOL) + ZEND_ARG_TYPE_INFO(0, host, IS_STRING, 0) +diff --git a/ext/soap/soap_arginfo.h b/ext/soap/soap_arginfo.h +index f22e76a47dc7..d012bc4d06a3 100644 +--- a/ext/soap/soap_arginfo.h ++++ b/ext/soap/soap_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 43878ddb4f96ee0a2f409b87bb1484fc5378cfb5 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_use_soap_error_handler, 0, 0, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, handler, _IS_BOOL, 0, "true") +diff --git a/ext/sockets/sockets_arginfo.h b/ext/sockets/sockets_arginfo.h +index 3c8e91d0ec2d..36aa16733e17 100644 +--- a/ext/sockets/sockets_arginfo.h ++++ b/ext/sockets/sockets_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 4494f9f246dbc98047d97d913cc1add9f91eb0ff */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_socket_select, 0, 4, MAY_BE_LONG|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(1, read_fds, IS_ARRAY, 1) +diff --git a/ext/sodium/libsodium_arginfo.h b/ext/sodium/libsodium_arginfo.h +index 8d902747dee6..518490618eb7 100644 +--- a/ext/sodium/libsodium_arginfo.h ++++ b/ext/sodium/libsodium_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 1cbca4f3d58dea842b4ea419df57531682ab984d */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_sodium_crypto_aead_aes256gcm_is_available, 0, 0, _IS_BOOL, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/spl/php_spl_arginfo.h b/ext/spl/php_spl_arginfo.h +index 419dc965c699..6e3caac7b618 100644 +--- a/ext/spl/php_spl_arginfo.h ++++ b/ext/spl/php_spl_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: cc1dc8de91f503a88cc7bc47ad239957c2de8303 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_class_implements, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE) + ZEND_ARG_INFO(0, what) +diff --git a/ext/spl/spl_array_arginfo.h b/ext/spl/spl_array_arginfo.h +index 11aa7dfc8349..5d0b1f3943a5 100644 +--- a/ext/spl/spl_array_arginfo.h ++++ b/ext/spl/spl_array_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 1230e3161d7c7fb549c5ac2ec5cde2dec585d849 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_ArrayObject___construct, 0, 0, 0) + ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, input, "[]") +diff --git a/ext/spl/spl_directory_arginfo.h b/ext/spl/spl_directory_arginfo.h +index 49fdb709ceb0..0f167f7f19df 100644 +--- a/ext/spl/spl_directory_arginfo.h ++++ b/ext/spl/spl_directory_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: d6b772ea08c57acdea65e983098f5bc4168daaa6 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFileInfo___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, file_name, IS_STRING, 0) +diff --git a/ext/spl/spl_dllist_arginfo.h b/ext/spl/spl_dllist_arginfo.h +index 7e1b327a8b7d..70435e7e9010 100644 +--- a/ext/spl/spl_dllist_arginfo.h ++++ b/ext/spl/spl_dllist_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 9d2c9ec251d72065d4502bbbc29e927c6b597731 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplDoublyLinkedList_add, 0, 0, 2) + ZEND_ARG_INFO(0, index) +diff --git a/ext/spl/spl_fixedarray_arginfo.h b/ext/spl/spl_fixedarray_arginfo.h +index d76db04a5ea1..056b8119df06 100644 +--- a/ext/spl/spl_fixedarray_arginfo.h ++++ b/ext/spl/spl_fixedarray_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a14156d542422823fcee53eb8a151576d055f38f */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplFixedArray___construct, 0, 0, 0) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, size, IS_LONG, 0, "0") +diff --git a/ext/spl/spl_heap_arginfo.h b/ext/spl/spl_heap_arginfo.h +index f0b196788b52..0febb0fea786 100644 +--- a/ext/spl/spl_heap_arginfo.h ++++ b/ext/spl/spl_heap_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 7f0aaeba31232e23367618eae98398fa41ac6ef5 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplPriorityQueue_compare, 0, 0, 2) + ZEND_ARG_INFO(0, priority1) +diff --git a/ext/spl/spl_iterators_arginfo.h b/ext/spl/spl_iterators_arginfo.h +index 5a2bb25ed286..66d4382cbed9 100644 +--- a/ext/spl/spl_iterators_arginfo.h ++++ b/ext/spl/spl_iterators_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: fcf9d56587eb60bdc7824ff7587a5c7365eee5c0 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_EmptyIterator_current, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/spl/spl_observer_arginfo.h b/ext/spl/spl_observer_arginfo.h +index 2cbe125246ca..9bd54867e1ae 100644 +--- a/ext/spl/spl_observer_arginfo.h ++++ b/ext/spl/spl_observer_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 22aaae107ec0c1c81a3f7135ffd7d22507437c57 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SplObserver_update, 0, 0, 1) + ZEND_ARG_OBJ_INFO(0, subject, SplSubject, 0) +diff --git a/ext/sqlite3/sqlite3_arginfo.h b/ext/sqlite3/sqlite3_arginfo.h +index ecc934c69072..a723e32ef06c 100644 +--- a/ext/sqlite3/sqlite3_arginfo.h ++++ b/ext/sqlite3/sqlite3_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: ded6aa03b742cbcf95943a6acb1101a0b700f30c */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_SQLite3___construct, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +diff --git a/ext/standard/basic_functions_arginfo.h b/ext/standard/basic_functions_arginfo.h +index 7c12e8d3575f..204b1b49dc4c 100755 +--- a/ext/standard/basic_functions_arginfo.h ++++ b/ext/standard/basic_functions_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 8890ebea8b2391a8614b844e8e1abc04a988eeb8 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_set_time_limit, 0, 1, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, seconds, IS_LONG, 0) +diff --git a/ext/standard/dir_arginfo.h b/ext/standard/dir_arginfo.h +index 5c806faf2bc2..68571fe8be73 100644 +--- a/ext/standard/dir_arginfo.h ++++ b/ext/standard/dir_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: ae14c81d7c4642412440f6236b34b7c7c0143911 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_Directory_close, 0, 0, 0) + ZEND_ARG_INFO(0, dir_handle) +diff --git a/ext/standard/dl_arginfo.h b/ext/standard/dl_arginfo.h +index b1adadfa32f9..889e95282cea 100644 +--- a/ext/standard/dl_arginfo.h ++++ b/ext/standard/dl_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 7dac6edd98e3e17669ae4bf0be7db89678059ca0 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_dl, 0, 1, _IS_BOOL, 0) + ZEND_ARG_TYPE_INFO(0, extension_filename, IS_STRING, 0) +diff --git a/ext/standard/user_filters_arginfo.h b/ext/standard/user_filters_arginfo.h +index 84cbbf3cbb33..08e5e4074832 100644 +--- a/ext/standard/user_filters_arginfo.h ++++ b/ext/standard/user_filters_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 61e071b8e6d9a2ed02a9667cfa16a97fcd9d7bd4 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_php_user_filter_filter, 0, 0, 4) + ZEND_ARG_INFO(0, in) +diff --git a/ext/sysvmsg/sysvmsg_arginfo.h b/ext/sysvmsg/sysvmsg_arginfo.h +index 30d08d968c7e..33423e45b760 100644 +--- a/ext/sysvmsg/sysvmsg_arginfo.h ++++ b/ext/sysvmsg/sysvmsg_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a4e2f362d86b38827fbbea640e6b8db215c2e4aa */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_msg_get_queue, 0, 1, SysvMessageQueue, MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_LONG, 0) +diff --git a/ext/sysvsem/sysvsem_arginfo.h b/ext/sysvsem/sysvsem_arginfo.h +index d1500b81b632..d4666d640122 100644 +--- a/ext/sysvsem/sysvsem_arginfo.h ++++ b/ext/sysvsem/sysvsem_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a9de9877facd28112e1fe21cf7c6f1c7fdc8014d */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_sem_get, 0, 1, SysvSemaphore, MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_LONG, 0) +diff --git a/ext/sysvshm/sysvshm_arginfo.h b/ext/sysvshm/sysvshm_arginfo.h +index 95c5128bbafe..4e0078038cc3 100644 +--- a/ext/sysvshm/sysvshm_arginfo.h ++++ b/ext/sysvshm/sysvshm_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 9a57af33a6658387f706ea121612c0f0eb55e5b3 */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_shm_attach, 0, 1, SysvSharedMemory, MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, key, IS_LONG, 0) +diff --git a/ext/tidy/tidy_arginfo.h b/ext/tidy/tidy_arginfo.h +index 84ecbb07d82d..aa845fdedb01 100644 +--- a/ext/tidy/tidy_arginfo.h ++++ b/ext/tidy/tidy_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 962dc7537b44115477b38efaefefa352e06b13bf */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_tidy_parse_string, 0, 1, tidy, MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, input, IS_STRING, 0) +diff --git a/ext/tokenizer/tokenizer_arginfo.h b/ext/tokenizer/tokenizer_arginfo.h +index 76f17a76ce70..1194f2838a4b 100644 +--- a/ext/tokenizer/tokenizer_arginfo.h ++++ b/ext/tokenizer/tokenizer_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 4591855b4c387a2868d5287b28c5050bf828c79f */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_token_get_all, 0, 1, IS_ARRAY, 0) + ZEND_ARG_TYPE_INFO(0, source, IS_STRING, 0) +diff --git a/ext/xml/xml_arginfo.h b/ext/xml/xml_arginfo.h +index e567bbea154b..15006f70f091 100644 +--- a/ext/xml/xml_arginfo.h ++++ b/ext/xml/xml_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 57266ea46516213cf727b960a3fbd15f95649af0 */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_xml_parser_create, 0, 0, XmlParser, MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, encoding, IS_STRING, 1, "null") +diff --git a/ext/xmlreader/php_xmlreader_arginfo.h b/ext/xmlreader/php_xmlreader_arginfo.h +index 83a5ce6a2285..749d8066f41c 100644 +--- a/ext/xmlreader/php_xmlreader_arginfo.h ++++ b/ext/xmlreader/php_xmlreader_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 8bdec18c4ad8574fb1d3e4baca928949d5ec2438 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XMLReader_close, 0, 0, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/xmlwriter/php_xmlwriter_arginfo.h b/ext/xmlwriter/php_xmlwriter_arginfo.h +index 39de351d06b2..c59a4e6073fe 100644 +--- a/ext/xmlwriter/php_xmlwriter_arginfo.h ++++ b/ext/xmlwriter/php_xmlwriter_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: c4717d4f5dafe071fb78799993db1e733d45470a */ + + ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_xmlwriter_open_uri, 0, 1, XMLWriter, MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, uri, IS_STRING, 0) +diff --git a/ext/xsl/php_xsl_arginfo.h b/ext/xsl/php_xsl_arginfo.h +index 8093a9316fc7..d707c72a7dba 100644 +--- a/ext/xsl/php_xsl_arginfo.h ++++ b/ext/xsl/php_xsl_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 13fd80938fec3bea7ac4bbcfb6e0b69b230fba72 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_class_XSLTProcessor_importStylesheet, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, stylesheet, IS_OBJECT, 0) +diff --git a/ext/zend_test/test_arginfo.h b/ext/zend_test/test_arginfo.h +index 495539bfbff4..334d9caea311 100644 +--- a/ext/zend_test/test_arginfo.h ++++ b/ext/zend_test/test_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: a61df45ef2431d449b0ac546640101db8ce66445 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_zend_test_array_return, 0, 0, IS_ARRAY, 0) + ZEND_END_ARG_INFO() +diff --git a/ext/zip/php_zip_arginfo.h b/ext/zip/php_zip_arginfo.h +index c25bd97759de..25157d8d7bfc 100644 +--- a/ext/zip/php_zip_arginfo.h ++++ b/ext/zip/php_zip_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 95608dd1d6c2ad80ada990a9e939b76dba705d48 */ + + ZEND_BEGIN_ARG_INFO_EX(arginfo_zip_open, 0, 0, 1) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +diff --git a/ext/zlib/zlib_arginfo.h b/ext/zlib/zlib_arginfo.h +index 2a5112391ed8..134fe9729b47 100644 +--- a/ext/zlib/zlib_arginfo.h ++++ b/ext/zlib/zlib_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: ee70bdd414ad35521ea24384e22ab05e641d81e0 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_ob_gzhandler, 0, 2, MAY_BE_STRING|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0) +diff --git a/sapi/apache2handler/php_functions_arginfo.h b/sapi/apache2handler/php_functions_arginfo.h +index 739afbbc8b7c..83dae8c6ef9b 100644 +--- a/sapi/apache2handler/php_functions_arginfo.h ++++ b/sapi/apache2handler/php_functions_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 3226aed29f13aa8146066a88e58ac2147ad8b500 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_apache_lookup_uri, 0, 1, MAY_BE_OBJECT|MAY_BE_FALSE) + ZEND_ARG_TYPE_INFO(0, filename, IS_STRING, 0) +diff --git a/sapi/fpm/fpm/fpm_main_arginfo.h b/sapi/fpm/fpm/fpm_main_arginfo.h +index 52e34d4a9df7..709ee60df245 100644 +--- a/sapi/fpm/fpm/fpm_main_arginfo.h ++++ b/sapi/fpm/fpm/fpm_main_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 0888f3ba14649f0be06d47410221381bace54936 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_fastcgi_finish_request, 0, 0, _IS_BOOL, 0) + ZEND_END_ARG_INFO() +diff --git a/sapi/litespeed/lsapi_main_arginfo.h b/sapi/litespeed/lsapi_main_arginfo.h +index 4198c43519c8..2b7e8624353d 100644 +--- a/sapi/litespeed/lsapi_main_arginfo.h ++++ b/sapi/litespeed/lsapi_main_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 6b6b8e58c728236218c31addc4d855e87d645178 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_litespeed_request_headers, 0, 0, IS_ARRAY, 0) + ZEND_END_ARG_INFO() +diff --git a/sapi/phpdbg/phpdbg_arginfo.h b/sapi/phpdbg/phpdbg_arginfo.h +index c3e91fdab2c6..a4ee52d81423 100644 +--- a/sapi/phpdbg/phpdbg_arginfo.h ++++ b/sapi/phpdbg/phpdbg_arginfo.h +@@ -1,4 +1,5 @@ +-/* This is a generated file, edit the .stub.php file instead. */ ++/* This is a generated file, edit the .stub.php file instead. ++ * Stub hash: 3fd1a8c30695df2089655b1785905381734ac1c1 */ + + ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_phpdbg_break_next, 0, 0, IS_VOID, 0) + ZEND_END_ARG_INFO() diff --git a/php-8.0.0-parser.patch b/php-8.0.0-parser.patch index cb676e9..4260b50 100644 --- a/php-8.0.0-parser.patch +++ b/php-8.0.0-parser.patch @@ -1,14 +1,16 @@ -diff -up ./build/gen_stub.php.old ./build/gen_stub.php ---- ./build/gen_stub.php.old 2020-06-24 15:29:13.503969177 +0200 -+++ ./build/gen_stub.php 2020-06-24 15:29:17.627958935 +0200 -@@ -1055,6 +1055,10 @@ function installPhpParser(string $versio - } +diff -up ./build/gen_stub.php.syslib ./build/gen_stub.php +--- ./build/gen_stub.php.syslib 2020-06-25 08:11:51.782046813 +0200 ++++ ./build/gen_stub.php 2020-06-25 08:13:11.188860368 +0200 +@@ -1075,6 +1075,12 @@ function initPhpParser() { + } - function initPhpParser() { + $isInitialized = true; ++ + if (file_exists('/usr/share/php/PhpParser4/autoload.php')) { + require_once '/usr/share/php/PhpParser4/autoload.php'; + return; + } ++ $version = "4.3.0"; $phpParserDir = __DIR__ . "/PHP-Parser-$version"; if (!is_dir($phpParserDir)) { diff --git a/php.spec b/php.spec index 26f15c2..5e12d62 100644 --- a/php.spec +++ b/php.spec @@ -108,7 +108,7 @@ Summary: PHP scripting language for creating dynamic web sites Name: %{?scl_prefix}php Version: %{upver}%{?lower:~%{lower}}%{?gh_date:.%{gh_date}} -Release: 21%{?dist} +Release: 22%{?dist} # All files licensed under PHP version 3.01, except # Zend is licensed under Zend # TSRM is licensed under BSD @@ -166,6 +166,7 @@ Patch47: php-5.6.3-phpinfo.patch Patch91: php-7.2.0-oci8conf.patch # Upstream fixes (100+) +Patch100: https://github.com/php/php-src/commit/c9b9f525a929158736977d6bad938380cad29cc6.patch # Security fixes (200+) @@ -872,6 +873,8 @@ in pure PHP. %patch9 -p1 -b .curltls %endif +%patch100 -p1 -b .up100 + %patch41 -p1 -b .syslib %if 0%{?fedora} >= 30 || 0%{?rhel} >= 6 %patch42 -p1 -b .systzdata @@ -1011,11 +1014,6 @@ sed -e 's:%{_root_sysconfdir}:%{_sysconfdir}:' \ sed -e 's:%{_root_datadir}:%{_datadir}:' \ -i 20-ffi.ini -# Temp workaround see https://github.com/php/php-src/pull/5739 -for i in $(find ext sapi Zend -name \*stub.php); do - touch -c -r $i ${i/.stub.php/_arginfo.h} -done - %if 0%{!?scl:1} : SCL macro not defined exit 1 @@ -1751,6 +1749,9 @@ fi %changelog +* Thu Jun 25 2020 Remi Collet - 8.0.0~alpha1-22 +- add upstream patch to use hash in gen_stub.php + * Wed Jun 24 2020 Remi Collet - 8.0.0~alpha1-21 - use system nikic/php-parser if available to generate C headers from PHP stub -- cgit