Skip to content

Regression: get_defined_functions(exclude_disabled:) — unknown named parameter on reference profile (re-#4942, ext/standard/basic_functions.c) #16902

Description

@PurHur

Category

stdlib · php-src-strict · regression (re-#4942)

Problem

Zend 8.2 accepts get_defined_functions(exclude_disabled: true) and returns the usual ['internal'=>…,'user'=>…] shape. On the php-compiler VM (reference profile, no PHP_COMPILER_PROFILE), the same call fatals with unknown named parameter — the builtin is registered with zero parameters.

Repro Zend 8.2+ VM (2026-07-06)
get_defined_functions(exclude_disabled: true) callable, array shape Error: Unknown named parameter $exclude_disabled

php-src reference

PHP implementation target

  • ext/standard/ builtin registration + VmReflection / get_defined_functions handler — accept optional exclude_disabled bool on profiles where Zend advertises it; filter disabled internal symbols like php-src
  • lib/CompilerVersion.php — profile gate must match Zend function_exists/signature on reference profile

Repro

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && php bin/vm.php test/repro/maintainer_gap_get_defined_functions_exclude_disabled_reference.php'
# fail: Error: Unknown named parameter $exclude_disabled

Done when

  • get_defined_functions(exclude_disabled: true) callable on reference profile; shape matches Zend
  • Compliance .phpt guard under test/compliance/cases/stdlib/
  • php-src-strict; no php-compiler-strict shortcut

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:vmVirtual machinebugSomething isn't workingenhancementNew 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