(Republished on the correct commit)
Added
- Support for PHP 8.4 and PHP 8.5
- Support for Windows Server 2025
- Support for Ubuntu 24.04
- Support for Debian 11, 12, and 13
- Support for Red Hat 9 and 10
- Support for Alpine 3.20, 3.21, 3.22, and 3.23
- Support for macOS 15 and 26
Removed
- Support for PHP 8.1 and 8.2
- Support for Windows 10, Server 2012, and Server 2012 R2
- Support for Ubuntu 20.04
- Support for Debian 10
- Support for Red Hat 7
- Support for SUSE Linux 12
- Support for Alpine 3.16, 3.17, 3.18, and 3.19
- Support for macOS 11, 12, and 13
Changed
- Refactored build scripts for safety, error handling, and command injection prevention (PR #1551, PR #1552)
Fixed
- Fixed segfault when connecting to Fabric (PR #1549)
- Enhanced error reporting in PDO driver when ODBC diagnostic retrieval fails (PR #1549)
- Fixed critical memory safety bugs in encoding conversion - NULL pointer dereference and uninitialized pointer return (PR #1555)
- Removed lingering error2 reference from failure block in CI pipeline (PR #1568)
- Fixed PHP 8.5 compatibility issues in tests and CI pipeline (PR #1569)
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
- 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:
Click here to start the PHP survey
Install
- On Linux and macOS run the commands below:
sudo pecl install sqlsrv-5.13.0
sudo pecl install pdo_sqlsrv-5.13.0 - Windows DLLs can be found in
Assets