We recently released the next beta of the Microsoft Drivers for PHP for SQL Server, version 5.10.0-beta1. This beta release has been built with PHP 7.3+ and tested on all supported platforms.
Notable items about this release include:
Added
- Support for PHP 8.1 RC 1
- Support for Ubuntu 21.04 and Alpine 3.13
- Support for Apple M1 ARM64 hardware (requires MS ODBC Driver 17.8+)
- Support for Table-valued parameters
Removed
- Dropped support for Ubuntu 16.04
Fixed
- Issue #1244 - use lower case for object names for PDO::lastInsertId() - pull request #1245 by morozov
- Pull request #1251 - simplified implementations of last insert id and quote
- Issue #1258 - updated pdo_sqlsrv_get_driver_methods as per documentation - pull request #1259
- Pull request #1260 - cleaned up redundant code
- Issue #1261 - simplified get_field_as_string and made it more robust - pull request #1265
- Pull request #1262 - simplified parse_param_array in sqlsrv
- Pull request #1267 - replaced the obsolete MACRO ZVAL_NEW_ARR with array_init
- Pull request #1275 - fixed warning compiling core_stmt.cpp by mlocati
- Pull request #1288 - applied mask to pdo quote for binary inputs
- Pull request #1290 - updated list of supported processor architecture
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
- Issue #1050 - With Always Encrypted enabled, insertion requires the column list for any tables with identity columns
- Always Encrypted limitations
Known Issues
- This release requires ODBC Driver 17.4.2 or above. Otherwise, a warning about failing to set an attribute may be suppressed when using an older ODBC driver.
- 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
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.10.0beta1
sudo pecl install pdo_sqlsrv-5.10.0beta1
- To download Windows DLLs for PHP 7.3 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.
David Engel
Posted at https://sl.advdat.com/3tDpTcB