php-sqlsrv/test/functional/pdo_sqlsrv/skipif_version_less_than_2k14.inc

50 lines
1.4 KiB
PHP
Raw Normal View History

2017-09-30 06:11:45 +02:00
<?php
2018-07-12 01:27:03 +02:00
// For connection resiliency, must check that
// 1. Either running Windows, or ODBC driver 17.2 or greater on unix
// 2. Either SQL Server version is 2014 or greater, or using Azure
2017-09-30 06:11:45 +02:00
if (!extension_loaded("pdo_sqlsrv")) {
die("skip Extension not loaded");
}
$is_win = (strtoupper(substr(php_uname('s'),0,3)) === 'WIN');
2018-07-12 01:27:03 +02:00
require_once("MsSetup.inc");
2017-09-30 06:11:45 +02:00
$conn = new PDO("sqlsrv:server = $server; driver=$driver;", $uid, $pwd);
2017-09-30 06:11:45 +02:00
if ($conn === false) {
die("skip Could not connect during SKIPIF.");
2017-09-30 06:11:45 +02:00
}
2018-07-12 01:27:03 +02:00
$msodbcsql_ver = $conn->getAttribute(PDO::ATTR_CLIENT_VERSION)["DriverVer"];
$msodbcsql_maj = explode(".", $msodbcsql_ver)[0];
$msodbcsql_min = explode(".", $msodbcsql_ver)[1];
if (!$is_win) {
2018-07-24 01:38:24 +02:00
if ($msodbcsql_maj < 17) {
2018-07-12 01:27:03 +02:00
die("skip Unsupported ODBC driver version");
2018-07-24 01:38:24 +02:00
} else {
if ($msodbcsql_maj==17 && $msodbcsql_min < 2) {
die("skip Unsupported ODBC driver version");
}
2018-07-12 01:27:03 +02:00
}
}
2017-09-30 06:11:45 +02:00
// Get SQL Server Version
2018-07-11 20:29:34 +02:00
// Exclude this check if running on Azure
if (!$daasMode) {
$stmt = $conn->query("SELECT @@VERSION");
2018-07-11 20:29:34 +02:00
if ($stmt) {
$ver_string = $stmt->fetch(PDO::FETCH_NUM)[0];
} else {
die("skip Could not fetch SQL Server version during SKIPIF.");
2018-07-11 20:29:34 +02:00
}
2017-09-30 06:11:45 +02:00
2018-07-11 20:29:34 +02:00
$version = explode(' ', $ver_string);
2017-09-30 06:11:45 +02:00
2018-07-11 20:29:34 +02:00
if ($version[3] < '2014') {
die("skip Wrong version of SQL Server, 2014 or later required");
}
2017-09-30 06:11:45 +02:00
}
?>