github microsoft/msphpsql v5.1.2-preview
5.1.2-preview macOS/Linux/Windows

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

With excitement, we announce the technical preview for SQLSRV and PDO_SQLSRV drivers that support basic CRUD functionalities with the Always Encrypted feature. Both drivers have been built with PHP 7.0+ and tested on all supported platforms (Ubuntu 16, Debian 8, CentOS 7, and Windows).

Notable items about the 5.1.2-preview release,

Added

  • Support for non-UTF8 locales in Linux and macOS

Fixed

  • Fixed crash caused by executing an invalid query in a transaction (Issue #434)
  • Fixed regression in sqlsrv_next_result returning a no fields error when the active result set is null (Issue #581)
  • Fixed incorrect active result set when sqlsrv_next_result or PDOStatement::nextRowset is called when Column Encryption is enabled (Issue #574)
  • Fixed data corruption in fetching from an encrypted max column after calling sqlsrv_next_result or PDOStatemet::nextRowset (Issue #580)
  • Added error handling for using PDO::SQLSRV_ATTR_DIRECT_QUERY or PDO::ATTR_EMULATE_PREPARES in a Column Encryption enabled connection
  • Added error handling for binding TEXT, NTEXT or IMAGE as output parameter (Issue #231)

Limitations

  • In Linux and macOS, setlocale() only takes effect if it is invoked before the first connection. The subsequent locale setting will not work
  • 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

  • Binding decimal input as a string when Column Encryption is enabled may change the precision of the input
  • Connection pooling on Linux doesn't work properly if the user uses the MSODBC17 preview
  • 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 drivers by taking our pulse survey:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv-5.1.2preview
    sudo pecl install pdo_sqlsrv-5.1.2preview
  • Download Windows DLLs from SQLSRV or PDO_SQLSRV PECL repository.

Don't miss a new msphpsql release

NewReleases is sending notifications on new releases.