Microsoft Drivers 5.1.0 Previews for PHP for SQL Server Released!

Hi all,

We are excited to announce the technical preview for SQLSRV and PDO_SQLSRV drivers. The driver now supports basic CRUD functionalities with Always Encrypted.

Notable items about 5.1.0-preview release:

Added

  • Added support for SUSE 12
  • Added support for Always Encrypted with basic CRUD functionalities (see here)
    • Support for Windows Certificate Store (use connection keyword ColumnEncryption)
    • Support for custom key store provider (use connection keywords ColumnEncryption, CEKeystoreProvider, CEKeystoreName, CEKeystoreEncryptKey)
    • Support for inserting into an encrypted column
    • Support for fetching from an encrypted column
  • Added support for MSODBC 17 preview
  • Added Driver option to set the ODBC driver, Added"Driver" option, valid values are ODBC Driver 13 for SQL Server,ODBC Driver 11 for SQL Server, and ODBC Driver 17 for SQL Server
    • If the user intends to use the new Always Encrypted features, we recommend you to specify explicitly the 'Driver' option to 'ODBC Driver 17 for SQL Server' in the connection string

Fixed

  • Increased Test Coverage to 75%
  • Bug fixes after running static analysis

Limitation

  • Always Encrypted functionalities are only supported using MSODBC 17 preview
    • ODBC binaries for macOS available upon request
  • MSODBC 17 preview msodbcsql.msi only works for Windows10
  • Always Encrypted limitations
  • when using sqlsrv_query with Always Encrypted feature, SQL type has to be specified for each input (see here)
  • No support for inout / output params when using sql_variant type

Known Issues

  • Connection pooling on Linux doesn't work properly if the user uses the MSODBC17 preview
  • PDO::quote returns truncated string with garbage characters appended if the string contains a ASCII NUL ('/0') character
  • Binding decimal type when using Always Encrypted in the SQLSRV x64 driver returns an error during insertion when the input does not have any decimal places
  • When pooling is enabled in Linux or MAC
    • unixODBC <= 2.3.4 (Linux and MAC) might not return proper diagnostics 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

Survey

Let us know how we are doing and how you use our driver by taking our pulse survey: https://www.surveybuilder.com/s/neQnb

Get Started

Getting Drivers for PHP5 and older runtimes

You can download the Microsoft Drivers for PHP for SQL Server for PHP 5.4, 5.5 and 5.6 from the download center: https://www.microsoft.com/en-us/download/details.aspx?id=20098. Version 3.0 supports PHP 5.4, version 3.1 supports PHP 5.4 and PHP 5.5 and version 3.2 supports PHP 5.4, 5.5 and 5.6.

PHP Driver Version Supported
v3.2 PHP 5.6, 5.5, 5.4
v3.1 PHP 5.5, 5.4
v3.1 PHP 5.4

Meet Bhagdev (meetb@microsoft.com)

MSFTlovesPHP