Category
stdlib
Problem
ext/odbc procedural API (odbc_connect, odbc_exec, odbc_fetch_row, odbc_result, …) is absent. Legacy ERP/BI scripts and Windows/Linux ODBC integrations depend on this extension. function_exists('odbc_connect') → false on VM.
php-src reference
Repro (failure today)
<?php
echo function_exists('odbc_connect') ? "yes\n" : "no\n";
echo function_exists('odbc_exec') ? "yes\n" : "no\n";
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
php -r "var_export(function_exists(\"odbc_connect\"));"
php bin/vm.php -r "var_export(function_exists(\"odbc_connect\"));"
'
| Runtime |
function_exists('odbc_connect') |
| Zend + ext/odbc |
true |
bin/vm.php |
false |
Scope (this repo)
| Path |
Work |
ext/odbc/Module.php |
New extension module |
| VM resources |
ODBC link + result handles |
| Native |
Thin unixODBC FFI/wrapper (document unixodbc-dev in Docker) |
| Tests |
test/compliance/cases/stdlib/odbc_exists.phpt; optional @group odbc DSN smoke |
| Matrix |
script/capability-matrix.php |
PHP-in-PHP: connection bookkeeping in ext/odbc/*.php; C only for ODBC driver ABI.
Done when
Verification
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && vendor/bin/phpunit --filter odbc_exists'
Links
Category
stdlibProblem
ext/odbc procedural API (
odbc_connect,odbc_exec,odbc_fetch_row,odbc_result, …) is absent. Legacy ERP/BI scripts and Windows/Linux ODBC integrations depend on this extension.function_exists('odbc_connect')→ false on VM.php-src reference
ext/odbc/php_odbc.c— connection + statement lifecycleext/odbc/odbc_driver.c— unixODBC / iODBC driver bridgeodbc_connect,odbc_pconnect,odbc_close,odbc_exec,odbc_fetch_row,odbc_result,odbc_num_rows,odbc_error,odbc_errormsgRepro (failure today)
function_exists('odbc_connect')truebin/vm.phpfalseScope (this repo)
ext/odbc/Module.phpunixodbc-devin Docker)test/compliance/cases/stdlib/odbc_exists.phpt; optional@group odbcDSN smokescript/capability-matrix.phpPHP-in-PHP: connection bookkeeping in
ext/odbc/*.php; C only for ODBC driver ABI.Done when
odbc_connectwith invalid DSN →false+ warning (Zend parity)./script/ci-fast.sh --filter odbc_existsgreenVerification
./script/docker-exec.sh -- bash -lc 'source script/php-env.sh && vendor/bin/phpunit --filter odbc_exists'Links