From 3dfd3558ca2f63ffc8fe32103d6db264b2e3d6a4 Mon Sep 17 00:00:00 2001 From: Dharman Date: Sat, 13 Mar 2021 19:06:17 +0000 Subject: 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. --- UPGRADING | 5 +++++ ext/mysqli/mysqli_driver.c | 1 + ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt | 3 ++- ext/mysqli/tests/mysqli_driver.phpt | 5 ----- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/UPGRADING b/UPGRADING index cef46be99f..db0e1d4843 100644 --- a/UPGRADING +++ b/UPGRADING @@ -212,6 +212,11 @@ PHP 8.1 UPGRADE NOTES 4. Deprecated Functionality ======================================== +- MySQLi: + . The mysqli_driver::$driver_version property has been deprecated. The driver + version is meaningless as it hasn't been updated in more than a decade. Use + PHP_VERSION_ID instead. + ======================================== 5. Changed Functions ======================================== diff --git a/ext/mysqli/mysqli_driver.c b/ext/mysqli/mysqli_driver.c index 67f18fafa9..7f98faf996 100644 --- a/ext/mysqli/mysqli_driver.c +++ b/ext/mysqli/mysqli_driver.c @@ -78,6 +78,7 @@ static int driver_client_info_read(mysqli_object *obj, zval *retval, bool quiet) /* {{{ property driver_driver_version_read */ static int driver_driver_version_read(mysqli_object *obj, zval *retval, bool quiet) { + zend_error(E_DEPRECATED, "The driver_version property is deprecated"); ZVAL_LONG(retval, MYSQLI_VERSION_ID); return SUCCESS; } diff --git a/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt b/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt index 32d13d6750..e5ffc262ab 100644 --- a/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt +++ b/ext/mysqli/tests/mysqli_class_mysqli_driver_interface.phpt @@ -54,7 +54,6 @@ printf("driver->client_info = '%s'\n", $driver->client_info); assert(mysqli_get_client_version() === $driver->client_version); printf("driver->client_version = '%s'\n", $driver->client_version); -assert($driver->driver_version > 0); printf("driver->driver_version = '%s'\n", $driver->driver_version); assert(in_array($driver->report_mode, [ @@ -103,6 +102,8 @@ report_mode Magic, magic properties: driver->client_info = '%s' driver->client_version = '%d' + +Deprecated: The driver_version property is deprecated in %s on line %d driver->driver_version = '%d' driver->report_mode = '%d' driver->reconnect = '' diff --git a/ext/mysqli/tests/mysqli_driver.phpt b/ext/mysqli/tests/mysqli_driver.phpt index be2c61919b..a756766df6 100644 --- a/ext/mysqli/tests/mysqli_driver.phpt +++ b/ext/mysqli/tests/mysqli_driver.phpt @@ -27,11 +27,6 @@ if (($tmp = $driver->client_version) !== $client_version) { gettype($tmp), $tmp); } -if (!is_int($tmp = $driver->driver_version) || (0 == $tmp)) { - printf("[004] Expecting int/any, got %s/%s\n", - gettype($tmp), $tmp); -} - $all_modes = [ MYSQLI_REPORT_ALL, MYSQLI_REPORT_STRICT, -- cgit v1.2.1