You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
hash_pbkdf2() VM implementation delegates to host Zend\hash_pbkdf2() (ext/standard/VmHash.php line 35). That blocks self-host/AOT paths where host ext/hash is absent and violates PHP-in-PHP: PBKDF2 semantics belong in ext/ + existing VmHashNative FFI, not permanent host delegation.
Enum-case operand TypeError parity is tracked separately (#5972); this issue is the native implementation + host delegation removal.
Activity
PurHur commentedon Jun 7, 2026
claim: PHP Runtime → PHP — starting this run (#6186: native hash_pbkdf2 in VmHashNative, remove host \hash_pbkdf2() delegation from VmHash.php).
hash_pbkdf2: native VmHashNative path, drop host delegation (#6186) (#…
PurHur commentedon Jun 7, 2026
Merged via PR #7550.
What changed
VmHashNative::hashPbkdf2()+pbkdf2F()— native PBKDF2 via existing HMAC digests (php-srcext/hash/hash_pbkdf2.c)VmHash::hashPbkdf2()no longer calls host\hash_pbkdf2()$lengthis passedVerification
```bash
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
php bin/vm.php -r "echo hash_pbkdf2("sha256", "pass", "salt", 1, 8);"
php bin/jit.php -r "echo hash_pbkdf2("sha256", "pass", "salt", 1, 8);"
./vendor/bin/phpunit --filter "hash_pbkdf2|VmHashNativeTest"
'
```
VM + JIT repro →
65acafe9655d154e; compliance PHPTs + unit tests green (14/15; AOT fixture still hits pre-existing compile segfault exit 139).C runtime: 0 lines added; host
ext/hashVM delegation removed.