Microsoft Drivers 5.8.0 for PHP for SQL Server Released

This post has been republished via RSS; it originally appeared at: SQL Server articles.

We recently released Microsoft Drivers for PHP for SQL Server, version 5.8.0. This production release of the SQLSRV and PDO_SQLSRV drivers has been built with PHP 7.2, 7.3, and 7.4 and tested on all supported platforms.

 

Notable items about this release since the previous production release include:

 

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. Production support will be added in a future release.

Known Issues

  • On 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.
  • Direct downloads for released binaries can also be found at the Github release tag.

 

David Engel

One Reply to “Microsoft Drivers 5.8.0 for PHP for SQL Server Released”

  1. Após colar essas duas dll´s na pasta ext do php dentro do xampp é só fazer o comando de conexao com o banco ou falta outro processo?

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.