Skip to content

Stdlib: ldap_bind_ext() missing after ldap_bind — extended bind Result (ext/ldap/ldap.stub.php) #22164

Description

@PurHur

Category

stdlib · php-src-strict

Problem

ldap_bind() / ldap_unbind() are present, but ldap_bind_ext() (returns LDAP\Result|false and accepts $controls) is missing. ldap_sasl_bind() is also absent (separate follow-up OK). EXOP helpers (ldap_exop_*) already landed via prior work.

API Zend / php-src VM (2026-07-22)
ldap_bind / ldap_unbind present present
ldap_bind_ext present missing
ldap_sasl_bind present missing

php-src reference

PHP implementation target

  • ext/ldap/ — register ldap_bind_ext beside ldap_bind; implement in VmLdapCore / link builtins (PHP)
  • Return LDAP\Result on success like Zend; honor $controls when the native bridge already supports controls for search/mod
  • PHP-in-PHP; reuse existing LDAP connection/result objects

Repro

./script/docker-exec.sh -- bash -lc 'php bin/vm.php test/repro/maintainer_gap_ldap_bind_ext_missing.php'

Done when

  • function_exists('ldap_bind_ext') true
  • Against a live LDAP (or skip-if): bind_ext returns LDAP\Result on success / false on failure matching Zend
  • Compliance .phpt guard
  • php-src-strict

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:vmVirtual machineenhancementNew feature or requestimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-4:stdlibPhase 4 – stdlib for web appsstdlib

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions