Skip to content

Releases: microsoft/msphpsql

5.9.0-beta2 for PHP Driver for SQL Server

02 Dec 17:28
61f3403
Compare
Choose a tag to compare

Added

  • Support for PHP 8.0

Removed

  • Dropped support for PHP 7.2

Fixed

  • Pull Request #1205 - minimized compilation warnings on Linux and macOS
  • Pull Request #1209 - fixed a bug in fetching varbinary max fields as char or wide chars
  • Issue #1210 - switched from preview to beta terminology to enable Pickle support
  • Issue #1213 - the MACOSX_DEPLOYMENT_TARGET in config files caused linker errors in macOS Big Sur - Pull Request #1215

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 preview 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.9.0beta2
    sudo pecl install pdo_sqlsrv-5.9.0beta2
  • To download Windows DLLs for PHP 7.3 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.

5.9.0-preview1 for PHP Driver for SQL Server

05 Oct 14:59
26656bc
Compare
Choose a tag to compare

We are pleased to announce the next preview release for the Microsoft PHP Drivers for SQL Server, version 5.9.0-preview1. This preview release has been built with PHP 7.2+ and tested on all supported platforms.

Notable items about this release include:

Added

Removed

  • Dropped support for Ubuntu 19.10 and Debian 8.

Fixed

  • Pull Request #1127 - removal of TSRMLS macros in preparation for PHP 8 by remicollet
  • Pull Request #1136 - improved performance when handling decimal numbers as inputs or outputs and removed unncessary conversions for numeric values
  • Pull Request #1143 - if an exception occurs when executing a query, will not change the output parameters
  • Pull Request #1144 - use the correct C types when binding output parameters with integer values
  • Pull Request #1146 - improved performance when fetching numbers using client buffers
  • Pull Request #1165 - setting query timeout without using LOCK TIMEOUT, which saves an extra trip to the server
  • Issue #1170 - when fetching large data types such as ntext will check more than only the display size - pull request #1172

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 preview 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.9.0preview1
    sudo pecl install pdo_sqlsrv-5.9.0preview1
  • To download Windows DLLs for PHP 7.2 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.

Hotfix Release for the PHP drivers Version 5.8.1 for SQL Server

15 Apr 15:29
55e1715
Compare
Choose a tag to compare

This release only applies to Linux and macOS.

Fixed

  • Pull Request #1094 - Fixed default locale issues in Alpine Linux
  • Pull Request #1095 - Removed unnecessary data structure to support Client-Side Cursors feature in Alpine Linux
  • Pull Request #1107 - Fixed logging issues when both drivers are enabled in Alpine Linux

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:

Install

  • On Linux and macOS run the commands below:
    sudo pecl install sqlsrv-5.8.1
    sudo pecl install pdo_sqlsrv-5.8.1
  • You may download Windows DLLs for PHP 7.2 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.

5.8.0 for PHP Driver for SQL Server

31 Jan 17:15
e7b5a88
Compare
Choose a tag to compare

We are pleased to announce the next production release of the Microsoft Drivers for PHP for SQL Server. The SQLSRV and PDO_SQLSRV drivers have been built with PHP 7.2, 7.3, and 7.4 and tested on all supported platforms.

Notable items about this release (5.8.0) since the last production release (5.6.0) include the following:

Added

Removed

  • Dropped support for PHP 7.1
  • Dropped support for SQL Server 2008 R2, macOS Sierra, Ubuntu 18.10 and Ubuntu 19.04.

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
  • Issue #1027 - Fixed how drivers handle query timeout settings
  • Pull Request #1049 - Performance improvement for fetching from tables with many columns - cached the derived php types with column metadata to streamline data retrieval
  • Pull Request #1068 - Some cosmetic changes to source code as per suggestions from a static analysis tool
  • Issue #1079 - Support sql_variant types when using client buffers

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
  • Alpine Linux support is currently experimental. More robust support will be added in future releases

Known Issues

  • In Alpine Linux, the Client-Side Cursors feature may cause an access violation if both sqlsrv and pdo_sqlsrv are enabled. Either enable only sqlsrv or pdo_sqlsrv, or build PHP from source by compiling the drivers statically.
  • 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
    sudo pecl install pdo_sqlsrv
  • To download Windows DLLs for PHP 7.2 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.

5.7.1-preview for PHP Driver for SQL Server

03 Dec 20:01
efd04e4
Compare
Choose a tag to compare

We are pleased to announce the next preview release for the Microsoft PHP Drivers for SQL Server, version 5.7.1-preview. This preview release has been built with PHP 7.2+ and tested on all supported platforms.

Notable items about this release include:

Added

Removed

Fixed

  • Issue #1027 - Fixed how drivers handle query timeout settings
  • Pull Request #1049 - performance improvement for fetching from tables with many columns - cached the derived php types with column metadata to streamline data retrieval

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

  • Data Classification metadata retrieval requires ODBC Driver 17.4.2.1+ and SQL Server 2019
  • 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.7.1preview
    sudo pecl install pdo_sqlsrv-5.7.1preview
  • To download Windows DLLs for PHP 7.2 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.

5.7.0-preview for PHP Driver for SQL Server

05 Sep 20:20
fdf029d
Compare
Choose a tag to compare

We are pleased to announce the next preview release for the Microsoft PHP Drivers 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

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.

Hotfix Release for the PHP drivers Version 5.6.1 for SQL Server

19 Mar 23:14
Compare
Choose a tag to compare

We are excited to announce the hotfix release of the Microsoft Drivers for PHP for SQL Server. The SQLSRV and PDO_SQLSRV drivers have been built with PHP 7.1, 7.2, and 7.3 and tested on all supported platforms.

Notable items about this release (5.6.1) since the last production release (5.6.0) include the following:

Fixed

  • Issue #937 - fixed assumptions made when calculating field or column metadata which may have resulted in application termination
  • Issue #955 - modified sqlsrv config file such that it can be compiled independently of pdo_sqlsrv
  • Pull Request #946 - fixed PDOStatement::getColumnMeta() to return false when something goes wrong

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

  • 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)
  • In SUSE 15, Azure Active Directory connections may fail if PHP is installed from packages (Issue #934)

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
sudo pecl install pdo_sqlsrv

To download Windows DLLs for PHP 7.1 or above from the PECL repository, please go to the SQLSRV or PDO_SQLSRV PECL page.

Production Release for the PHP drivers Version 5.6.0 for SQL Server

22 Feb 00:51
c5989d8
Compare
Choose a tag to compare

We are pleased to announce the next production release of the Microsoft Drivers for PHP for SQL Server. The SQLSRV and PDO_SQLSRV drivers have been built with PHP 7.1, 7.2, and 7.3 and tested on all supported platforms.

Notable items about this release (5.6.0) since the last production release (5.3.0) include the following:

Added

  • Added support for PHP 7.3
  • Added support for Linux SUSE 15, Ubuntu 18.10 and macOS Mojave
  • Feature Request #415 - new options at connection and statement levels for both drivers for formatting decimal values in the fetched results
  • Added support for Azure AD Access Token (in Linux / macOS this requires MS ODBC Driver 17+ and unixODBC 2.3.6+)
  • Added support for Authentication with Azure Active Directory using Managed Identity for Azure Resources (requires MS ODBC Driver 17.3+)
  • Feature Request #842 - new PDO_STMT_OPTION_FETCHES_DATETIME_TYPE flag for pdo_sqlsrv to return datetime as objects
  • Feature Request #844 - add ReturnDatesAsStrings option to statement level for sqlsrv

Removed

  • Dropped support for Linux Ubuntu 17.10 and macOS El Capitan
  • Dropped support for PHP 7.0 - Version 5.3 is the last to support PHP 7.0.

Fixed

  • Issue #434 - To avoid possible crashes, before freeing stmt in the destructor check if its dbh driver data is NULL
  • Pull Request #833 - Streamlined the error handling to remove a potential cause of crash
  • Pull Request #836 - Modified the config files to enable Spectre Mitigations (use /Qspectre switch) for PHP 7.2 (see related Request #878)
  • Pull Request #854 - Clear Azure Key Vault data after connection attributes are successfully set or when exception is thrown
  • Pull Request #855 - Improved performance by saving meta data before fetching and skipping unnecessary conversions for numeric data
  • Pull Request #865 - Corrected the way SQLPutData and SQLParamData are used when sending stream data to the server
  • Pull Request #878 - Modified the config files to enable Spectre Mitigations for PHP 7.1 (see related Request #836)
  • Pull Request #891 - Improved performance of Unicode conversions
  • Pull Request #892 - Removed warning messages while compiling extensions
  • Pull Request #904 - Enabled compiling extensions statically into PHP
  • Pull Request #907 - Initialized output param buffer when allocating extra space
  • Pull Request #919 - Initialized a boolean variable before passing it by reference into a function that will modify its value

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

  • 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)
  • In SUSE 15, Azure Active Directory connections may fail if PHP is installed from package (Issue #934)

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
sudo pecl install pdo_sqlsrv

To download Windows DLLs for PHP 7.1 or above from the PECL repository, please go to the SQLSRV or PDO_SQLSRV PECL page.

5.5.0-preview for PHP drivers for SQL Server

07 Dec 21:36
Compare
Choose a tag to compare

We are pleased to announce the technical preview for SQLSRV and PDO_SQLSRV drivers that support PHP 7.3. Both drivers have been built with PHP 7.1+ and tested on all supported platforms (Windows, Ubuntu 16.04, 18.04, and 18.10, RedHat 7, Debian 8 and 9, Suse 12, and macOS 10.11, 10.12, 10.13 and 10.14).

Notable items about the 5.5.0-preview release,

Added

  • Added support for PHP 7.3.0
  • Added support for Linux Ubuntu 18.10 and mac OS Mojave
  • Feature Request #415 - new options at connection and statement levels for both drivers for formatting decimal values in the fetched results

Fixed

  • Pull Request #854 - Clear Azure Key Vault data after connection attributes are successfully set or when exception is thrown
  • Pull Request #855 - Improved performance by saving meta data before fetching and skipping unnecessary conversions for numeric data
  • Pull Request #865 - Corrected the way SQLPutData and SQLParamData are used when sending stream data to the server
  • Pull Request #878 - Modified the config files to enable Spectre Mitigations for PHP 7.1 (see related Request #836)
  • Pull Request #891 - Improved performance of Unicode conversions
  • Pull Request #892 - Removed warning messages while compiling extensions

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

  • 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)
  • With ColumnEncryption enabled, fetching varbinary(max), varchar(max) or nvarchar(max) may fail with ODBC Driver 17.3 CTP

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.5.0preview
    sudo pecl install pdo_sqlsrv-5.5.0preview
  • To download Windows DLLs for PHP 7.1 or above from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV.

5.4.0-preview for PHP drivers for SQL Server

24 Sep 17:48
432901d
Compare
Choose a tag to compare

We are pleased to announce the technical preview for SQLSRV and PDO_SQLSRV drivers that support the Azure AD access token for Windows, Linux and macOS. Both drivers have been built with PHP 7.1+ and tested on all supported platforms (Windows, Ubuntu 16.04 and 18.04, RedHat 7, Debian 8 and 9, Suse 12, and macOS 10.11, 10.12, and 10.13).

Notable items about the 5.4.0-preview release,

Added

Removed

  • Dropped support for Ubuntu 17.10
  • Dropped support for PHP 7.0 - Version 5.3 is the last to support PHP 7.0.

Fixed

  • Issue #434 - To avoid the pitfall that could result in a crash, before freeing stmt in the destructor check if its dbh driver data is NULL
  • Pull Request #836 - Modified the config files to enable Spectre Mitigations (use /Qspectre switch) for PHP 7.2
  • Pull Request #833 - Streamlined the error handling to remove a potential cause of crash

Limitations

  • 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 yet 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.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)
  • With ColumnEncryption enabled, fetching varbinary(max), varchar(max) or nvarchar(max) may fail with ODBC Driver 17.3 CTP

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.4.0preview
    sudo pecl install pdo_sqlsrv-5.4.0preview
  • To download Windows DLLs for PHP 7.1 or 7.2 from the PECL repository, please navigate to SQLSRV or PDO_SQLSRV. The ones for PHP 7.3 can be found in SQLSRV or PDO_SQLSRV