Skip to content

Commit 3dfd355

Browse files
kamil-tekielanikic
authored andcommitted
Deprecate mysqli driver_version property
The driver version hasn't been updated in 13 years, so this number is essentially meaningless. Check PHP_VERSION_ID instead.
1 parent 11dbed9 commit 3dfd355

File tree

4 files changed

+8
-6
lines changed

4 files changed

+8
-6
lines changed

UPGRADING

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,11 @@ PHP 8.1 UPGRADE NOTES
212212
4. Deprecated Functionality
213213
========================================
214214

215+
- MySQLi:
216+
. The mysqli_driver::$driver_version property has been deprecated. The driver
217+
version is meaningless as it hasn't been updated in more than a decade. Use
218+
PHP_VERSION_ID instead.
219+
215220
========================================
216221
5. Changed Functions
217222
========================================

ext/mysqli/mysqli_driver.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,7 @@ static int driver_client_info_read(mysqli_object *obj, zval *retval, bool quiet)
7878
/* {{{ property driver_driver_version_read */
7979
static int driver_driver_version_read(mysqli_object *obj, zval *retval, bool quiet)
8080
{
81+
zend_error(E_DEPRECATED, "The driver_version property is deprecated");
8182
ZVAL_LONG(retval, MYSQLI_VERSION_ID);
8283
return SUCCESS;
8384
}

ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ printf("driver->client_info = '%s'\n", $driver->client_info);
5454
assert(mysqli_get_client_version() === $driver->client_version);
5555
printf("driver->client_version = '%s'\n", $driver->client_version);
5656

57-
assert($driver->driver_version > 0);
5857
printf("driver->driver_version = '%s'\n", $driver->driver_version);
5958

6059
assert(in_array($driver->report_mode, [
@@ -103,6 +102,8 @@ report_mode
103102
Magic, magic properties:
104103
driver->client_info = '%s'
105104
driver->client_version = '%d'
105+
106+
Deprecated: The driver_version property is deprecated in %s on line %d
106107
driver->driver_version = '%d'
107108
driver->report_mode = '%d'
108109
driver->reconnect = ''

ext/mysqli/tests/mysqli_driver.phpt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ if (($tmp = $driver->client_version) !== $client_version) {
2727
gettype($tmp), $tmp);
2828
}
2929

30-
if (!is_int($tmp = $driver->driver_version) || (0 == $tmp)) {
31-
printf("[004] Expecting int/any, got %s/%s\n",
32-
gettype($tmp), $tmp);
33-
}
34-
3530
$all_modes = [
3631
MYSQLI_REPORT_ALL,
3732
MYSQLI_REPORT_STRICT,

0 commit comments

Comments
 (0)