Thursday, December 2, 2021

Microsoft Drivers 5.10.0 Beta 2 for PHP for SQL Server Released

We recently released the next beta of the Microsoft Drivers for PHP for SQL Server, version 5.10.0-beta2. This beta release has been built with PHP 7.3+ and tested on all supported platforms.


Notable items about this release over beta 1 include:



  • Support for PHP 8.1
  • Support for Ubuntu 21.10
  • Feature Request #1320 - allow PDO::ATTR_EMULATE_PREPARES to be set at the connection level


  • Dropped support for Ubuntu 16.04


  • Issue #1307 - added TVP support to non-procedure statements
  • Issue #1310 - adjusted sql_data_type and column size for NULL parameters - pull request #1311 by gjcarrette
  • Pull request #1326 - php drivers simply pass Azure AD Authentication to ODBC driver, which will verify the settings
  • Issue #1329 - reset sql type and column size for input params
  • Issue #1331 - restore PDO::ATTR_ERRMODE if calling PDO::lastInsertId() call fails - pull request #1330 by mpyw and pull request #1332


  • No support for inout / output params when using sql_variant type
  • No support for inout / output params when formatting decimal values
  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. Attempting to set the locale after connecting will not work
  • Always Encrypted requires MS ODBC Driver 17+
    • Only Windows Certificate Store and Azure Key Vault are supported. Custom Keystores are not yet supported
    • Issue #716 - With Always Encrypted enabled, named parameters in subqueries are not supported
    • Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
    • Always Encrypted limitations

Known Issues

  • This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
  • Connection pooling on Linux or macOS is not recommended with unixODBC < 2.3.7
  • When pooling is enabled in Linux or macOS
    • unixODBC <= 2.3.4 (Linux and macOS) might not return proper diagnostic information, such as error messages, warnings and informative messages
    • due to this unixODBC bug, fetch large data (such as xml, binary) as streams as a workaround. See the examples here


Let us know how we are doing and how you use our drivers by taking our pulse survey.



  • On Linux and macOS run the commands below:



sudo pecl install sqlsrv-5.10.0beta2
sudo pecl install pdo_sqlsrv-5.10.0beta​2



  • To download Windows DLLs for PHP 7.3 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
  • Direct downloads for released binaries can also be found at the Github release tag.


David Engel

Posted at