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
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_visibilityunder PROFILE=8.4) — this is default-profileextension_loaded/ symbol phantom vs an absent Zend module.Probed 2026-07-29 Zend 8.2.32 vs
bin/vm.php@a4c54c0ef.extension_loaded('pgsql')falsetruefunction_exists('pg_connect')falsetruedefined('PGSQL_CONNECT_FORCE_NEW')falsetruephp-src reference
ext/pgsql/pgsql.c— module +pg_connectext/pgsql/pgsql.stub.php— constantsPHP implementation target
ext/pgsqlregistration on the same “extension actually available / side-loaded” policy as other phantom fixes (ext/curlRegression: extension_loaded('curl')/function_exists('curl_init') phantom — Zend ext/curl absent (ext/curl/interface.c) #23953,ext/mysqliRegression: extension_loaded('mysqli')/function_exists('mysqli_connect')/class_exists phantom — Zend ext/mysqli absent (ext/mysqli/mysqli.c) #23954, …)extensions-sideloaded);extension_loadedmust match Zend for the active profileRepro
./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
extension_loaded('pgsql'),pg_connect, andPGSQL_*consts agree with Zend (absent → false)