SQL Server PHP 驱动 5.3.0 发布,支持 Ubuntu 18.04

发布于 2018年07月21日
收藏 8

微软 SQL Server PHP 驱动 5.3.0 发布了,该驱动程序允许从 Linux、Windows 和 macOS 上的 PHP 7.0-7.2 应用程序访问 SQL Server、Azure SQL 数据库、Azure SQL 托管实例和 Azure SQL DW。



  • Added support for Azure Key Vault for Always Encrypted functionality. Always Encrypted functionality is supported on Linux and macOS through Azure Key Vault

  • Added support for connection resiliency on Linux and macOS (requires version 17.2 or higher of the ODBC driver)

  • Added support for macOS High Sierra (requires version 17 or higher of the ODBC driver)

  • Added support for Ubuntu 18.04 (requires version 17.2 or higher of the ODBC driver)


  • Issue #577 - Idle Connection Resiliency doesn't work with Column Encryption enabled connections (fixed in MS ODBC Driver 17.1)

  • Issue #678 - Idle Connection Resiliency doesn't work with Connection Pooling (fixed in MS ODBC Driver 17.1)

  • Issue #699 - Binding output parameters fails when the query in the stored procedure returns no data. The test case has been added to the test lab.

  • Issue #705 - Always Encrypted - Retrieving a negative decimal value (edge case) as output parameter causes truncation

  • Issue #706 - Always Encrypted - Cannot insert double with precision and scale (38, 38)

  • Issue #707 - Always Encrypted - Fetching decimals / numerics as output parameters bound to PDO::PARAM_BOOL or PDO::PARAM_INT returns floats, not integers

  • Issue #735 - Extended the buffer size for PDO::lastInsertId so that data types other than integers can be supported

  • Pull Request #759 - Removed the limitation of binding a binary as inout param as PDO::PARAM_STR with SQLSRV_ENCODING_BINARY

  • Pull Request #775 - Fixed the truncation problem for output params with SQL types specified as SQLSRV_SQLTYPE_DECIMAL or SQLSRV_SQLTYPE_NUMERIC


  • No support for inout / output params when using sql_variant type

  • 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 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.6

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



转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:SQL Server PHP 驱动 5.3.0 发布,支持 Ubuntu 18.04