Signatur
Beschreibung
sqlsrv_client_info() liefert Metadaten über den verwendeten Microsoft SQL Server-Treiber (SQLSRV) sowie über die aktuelle Verbindung. Das zurückgegebene Array enthält Angaben zur Treiberversion, zum ODBC-Treiber und zur verwendeten PHP-SQLSRV-Erweiterungsversion.
Typische Felder im Rückgabe-Array sind: DriverDllName (Name der Treiber-DLL), DriverODBCVer (ODBC-Versionsnummer), DriverVer (Version des SQLSRV-Treibers) und ExtensionVer (Version der PHP-Erweiterung). Diese Informationen sind besonders nützlich bei der Fehlersuche, um sicherzustellen, dass Treiber- und Erweiterungsversionen kompatibel sind.
Die Funktion eignet sich hervorragend für Diagnose- und Debugging-Zwecke, etwa um in einer Support-Situation schnell die eingesetzte Treiberumgebung zu identifizieren oder um in Multiserver-Umgebungen sicherzustellen, dass überall dieselben Versionen im Einsatz sind.
Im Fehlerfall – etwa wenn die übergebene Verbindungsressource ungültig ist – gibt die Funktion false zurück. Fehlerinformationen lassen sich dann über sqlsrv_errors() abrufen.
Parameter
| Name | Typ | Default | Beschreibung |
|---|---|---|---|
| $conn Pflicht | resource | Eine gültige SQLSRV-Verbindungsressource, wie sie von sqlsrv_connect() zurückgegeben wird. |
Rückgabewert
DriverDllName, DriverODBCVer, DriverVer, ExtensionVer). Im Fehlerfall wird false zurückgegeben.Beispiele
Client-Informationen ausgeben
<?php
$serverName = 'localhost';
$connectionOptions = [
'Database' => 'TestDB',
'UID' => 'sa',
'PWD' => 'geheimesPasswort',
];
$conn = sqlsrv_connect($serverName, $connectionOptions);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
$clientInfo = sqlsrv_client_info($conn);
if ($clientInfo === false) {
echo 'Fehler beim Abrufen der Client-Informationen.';
print_r(sqlsrv_errors());
} else {
echo 'Treiber-DLL: ' . $clientInfo['DriverDllName'] . PHP_EOL;
echo 'ODBC-Version: ' . $clientInfo['DriverODBCVer'] . PHP_EOL;
echo 'Treiber-Version: ' . $clientInfo['DriverVer'] . PHP_EOL;
echo 'Erweiterungs-Ver.: ' . $clientInfo['ExtensionVer'] . PHP_EOL;
}
sqlsrv_close($conn);
Versionsprüfung vor dem Ausführen versionsspezifischer Funktionen
<?php
$conn = sqlsrv_connect('localhost', [
'Database' => 'TestDB',
'UID' => 'sa',
'PWD' => 'geheimesPasswort',
]);
if ($conn === false) {
die(print_r(sqlsrv_errors(), true));
}
$info = sqlsrv_client_info($conn);
// Mindest-Erweiterungsversion prüfen
$minVersion = '5.0.0';
if ($info !== false && version_compare($info['ExtensionVer'], $minVersion, '>=')) {
echo 'Erweiterungsversion ist kompatibel: ' . $info['ExtensionVer'] . PHP_EOL;
} else {
echo 'Veraltete SQLSRV-Erweiterung! Bitte auf mindestens v' . $minVersion . ' aktualisieren.' . PHP_EOL;
}
sqlsrv_close($conn);
// Wichtig · Fallstricke
Hinweis zur Plattform: Die SQLSRV-Erweiterung und damit sqlsrv_client_info() ist primär für Windows konzipiert. Unter Linux und macOS steht stattdessen die pdo_sqlsrv-Erweiterung in Kombination mit dem Microsoft ODBC Driver for SQL Server zur Verfügung, die jedoch äquivalente Diagnosemöglichkeiten bietet.
Fehlerbehebung: Gibt die Funktion false zurück, sollte mittels sqlsrv_errors() geprüft werden, ob die übergebene Verbindungsressource noch aktiv und gültig ist.