We recently released the next preview of the Microsoft Drivers for PHP for SQL Server, version 5.7.0-preview. This preview release has been built with PHP 7.1+ and tested on all supported platforms.
Notable items about this release include:
Added
- Support for PHP 7.4 RC 1
- Support for Linux Ubuntu 19.04 and Debian 10
- Feature Request #929 - new Language option - Pull Request #930
- Data Classification Sensitivity Metadata Retrieval, which requires MS ODBC Driver 17.2+ and SQL Server 2019 or Azure SQL Database.
Removed
- Dropped support for Ubuntu 18.10
Fixed
- Issue #570 - Fixed fetching varbinary data using client buffer with sqlsrv
- Pull Request #972 - Removed redundant calls to retrieve the number of columns or rows in the current query result set
- Pull Request #978 - PDO_SQLSRV implementation of PDO::getColumnMeta now references cached metadata rather than making an ODBC call every time
- Pull Request #979 - Added support for data classification Sensitivity metadata retrieval
- Pull Request #985 - Fixed memory issues with data classification data structures
- Issue #432 - Having any invalid UTF-8 name in the connection string will no longer invoke misleading error messages
- Issue #909 - Fixed potential exception with locale issues in macOS
- Pull Request #992 - Produced the correct error when requesting Data Classification metadata with ODBC drivers prior to 17
- Pull Request #1001 - Fixed compilation issue with PHP 7.4 alpha
- Pull Request #1004 - Fixed another compilation issue with PHP 7.4 alpha
- Pull Request #1008 - Improved data caching when fetching datetime objects
- Pull Request #1011 - Fixed a potential buffer overflow when parsing for escaped braces in the connection string
- Pull Request #1015 - Fixed compilation issues and addressed various memory leaks detected by PHP 7.4 beta 1
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
- Data Classification metadata retrieval is not compatible with ODBC Driver 17.4.1
- 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)
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.7.0preview
sudo pecl install pdo_sqlsrv-5.7.0preview​
- To download Windows DLLs for PHP 7.1 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.
- Direct downloads for released binaries can also be found at the Github release tag.
Updated Jul 29, 2020
Version 3.0David-Engel
Steel Contributor
Joined May 16, 2019
SQL Server Blog
Follow this blog board to get notified when there's new activity