Category
bug · php-src-strict · named arguments / Reflection
Problem
Positional calls match Zend, but Reflection reports InternalArgInfo-style str instead of Zend stub string, and Zend-style named $string fails. Probed 2026-07-26 vs host Zend 8.2.32.
| Repro |
Zend 8.2 |
VM (2026-07-26) |
Reflection (crypt) |
string,salt |
str,salt |
Reflection (quotemeta/strrev/str_rot13) |
string |
str |
strrev(string: "ab") |
"ba" |
Unknown named parameter $string |
quotemeta(string: ".+") |
"\\.+" |
Unknown named parameter $string |
str_rot13(string: "ab") |
"no" |
Unknown named parameter $string |
crypt(string: "x", salt: "$1\$xxxxxxxx$") |
hash |
Unknown named parameter $string |
php-src reference
PHP implementation target
lib/BuiltinParamNames.php — crypt → ['string','salt']; others → ['string']
- Reflection + named-arg dispatch; PHP-in-PHP only; no new C
Repro
./script/docker-exec.sh -- bash -lc 'php bin/vm.php -r '\''try { echo strrev(string:"ab"), "\n"; } catch (Throwable $e) { echo $e->getMessage(), "\n"; }'\'''
Done when
Category
bug· php-src-strict · named arguments / ReflectionProblem
Positional calls match Zend, but Reflection reports InternalArgInfo-style
strinstead of Zend stubstring, and Zend-style named$stringfails. Probed 2026-07-26 vs host Zend 8.2.32.crypt)string,saltstr,saltquotemeta/strrev/str_rot13)stringstrstrrev(string: "ab")"ba"Unknown named parameter $stringquotemeta(string: ".+")"\\.+"Unknown named parameter $stringstr_rot13(string: "ab")"no"Unknown named parameter $stringcrypt(string: "x", salt: "$1\$xxxxxxxx$")Unknown named parameter $stringphp-src reference
ext/standard/basic_functions.stub.php—crypt(string $string, string $salt),quotemeta/strrev/str_rot13(string $string)PHP implementation target
lib/BuiltinParamNames.php—crypt→['string','salt']; others →['string']Repro
Done when
string(andsaltforcrypt).phpt+test/repro/issue_NNNN_*.php