Microsoft Drivers 5.5.0 Preview for PHP for SQL Server Released!

Hi all,

We are excited to announce a new technical preview for SQLSRV and PDO_SQLSRV drivers for PHP. The drivers now support PHP 7.3 and include some fixes and new features.

Notable items about the 5.5.0-preview release:

Added

  • Added support for PHP 7.3.0
  • Added support for Linux Ubuntu 18.10 and mac OS Mojave
  • Feature Request #415 - new options at connection and statement levels for both drivers for formatting decimal values in the fetched results

Fixed

  • Pull Request #854 - Clear Azure Key Vault data after connection attributes are successfully set or when exception is thrown
  • Pull Request #855 - Improved performance by saving meta data before fetching and skipping unnecessary conversions for numeric data
  • Pull Request #865 - Corrected the way SQLPutData and SQLParamData are used when sending stream data to the server
  • Pull Request #878 - Modified the config files to enable Spectre Mitigations for PHP 7.1 (see related Request #836)
  • Pull Request #891 - Improved performance of Unicode conversions
  • Pull Request #892 - Removed warning messages while compiling extensions

Limitations

  • 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
    • Always Encrypted limitations

Known Issues

  • 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
  • With ColumnEncryption enabled, calling stored procedures with XML parameters does not work (Issue #674)
  • With ColumnEncryption enabled, fetching varbinary(max), varchar(max) or nvarchar(max) may fail with ODBC Driver 17.3 CTP

Survey

Let us know how we are doing and how you use our driver by taking our pulse survey: https://aka.ms/mssqlphpsurvey

Get Started

Direct downloads can be found on the Github release tag.

David Engel