Skip to content

Regression: extension_loaded('pgsql')/function_exists('pg_connect')/PGSQL_* phantom — Zend ext/pgsql absent (ext/pgsql) #24994

Description

@PurHur

Category

stdlib · php-src-strict · phantom extension (pgsql)

Problem

Reference Zend 8.2 CLI in the pinned container does not load ext/pgsql. php-compiler still reports the extension and procedural entry points as present (extension_loaded('pgsql'), function_exists('pg_connect'), defined('PGSQL_CONNECT_FORCE_NEW')).

Related but distinct from #24627 (pg_set_error_context_visibility under PROFILE=8.4) — this is default-profile extension_loaded / symbol phantom vs an absent Zend module.

Probed 2026-07-29 Zend 8.2.32 vs bin/vm.php @ a4c54c0ef.

Repro Zend 8.2 VM
extension_loaded('pgsql') false true
function_exists('pg_connect') false true
defined('PGSQL_CONNECT_FORCE_NEW') false true

php-src reference

PHP implementation target

Repro

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

Done when

  • On reference profile matching container Zend: extension_loaded('pgsql'), pg_connect, and PGSQL_* consts agree with Zend (absent → false)
  • Repro/compliance guard; php-src-strict
  • Does not break intentional PROFILE / side-load enabling of pgsql when that path is explicitly configured

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

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