github microsoft/msphpsql v5.1.0-preview
5.1.0-preview Mac OS X/Linux/Windows

latest releases: v5.12.0, v5.12.0-beta1, v5.11.1...
pre-release7 years ago

We are excited to announce the technical preview for SQLSRV and PDO_SQLSRV drivers support basic CRUD functionalities with Always Encrypted. Both drivers have been built PHP 7.1 and tested on all supported platforms (Ubuntu 16, Debian 8, CentOS 7, and Windows)

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

Limitations

  • 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:

Install

  • On Linux and Mac run the commands below:
    sudo pecl install sqlsrv-5.1.0preview
    sudo pecl install pdo_sqlsrv-5.1.0preview
  • Download Windows DLLs from SQLSRV or PDO_SQLSRV PECL repository.
  • The Windows binaries is not yet available on GitHub. We will publish them as soon as possible.

Don't miss a new msphpsql release

NewReleases is sending notifications on new releases.