Skip to content

Stdlib: ext/sqlsrv — sqlsrv_connect()/sqlsrv_query() SQL Server driver missing (ext/sqlsrv) #6577

Description

@PurHur

Category

stdlib

Problem

Microsoft's sqlsrv extension provides SQL Server connectivity for PHP enterprise apps: sqlsrv_connect(), sqlsrv_query(), sqlsrv_fetch_array(), sqlsrv_errors(), etc. This compiler registers no sqlsrv surface — function_exists('sqlsrv_connect') is false.

php-src reference

Repro (failure today)

./script/docker-exec.sh -- bash -lc 'source script/php-env.sh
php bin/vm.php -r "var_export(function_exists(\"sqlsrv_connect\")); echo \"\n\";
var_export(function_exists(\"sqlsrv_query\")); echo \"\n\";"
'

Observed: both false.

<?php
$conn = sqlsrv_connect('localhost', ['Database' => 'test', 'UID' => 'sa', 'PWD' => 'x']);
var_export($conn);

VM today: undefined function.

Scope (this repo) — v1 subset

Path Work
ext/sqlsrv/Module.php Register connect/query/fetch/errors builtins
VM Resource type for connection + statement; thin ODBC/FreeTDS ABI or documented stub until native driver linked
v1 sqlsrv_connect, sqlsrv_query, sqlsrv_fetch_array, sqlsrv_errors, sqlsrv_close
Tests test/compliance/cases/stdlib/sqlsrv_functions_exist.phpt (smoke); integration skip without server

php-in-PHP first: error formatting + arg validation in ext/sqlsrv/; C only for unavoidable ODBC calls.

php-src-strict: invalid connection options → false + sqlsrv_errors() entries like Zend.

Done when

  • function_exists('sqlsrv_connect') true on VM
  • Invalid connect returns false with structured sqlsrv_errors() (no fatal)
  • Capability matrix documents sqlsrv module
  • ./script/ci-fast.sh --filter sqlsrv_functions_exist green

Related

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 machineenhancementNew feature or requestimplementation-readySpec complete: repro, php-src ref, done-when — safe for workers to claimphase-4:stdlibPhase 4 – stdlib for web apps

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions