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.
This commit is contained in:
Dharman authored and Nikita Popov committed 2021-03-15 10:48:36 +01:00
1 parent 11dbed9b2f
commit 3dfd3558ca
4 files changed
+8 -6

No files matched your search

+5
View File
@@ -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
========================================
+1
View File
@@ -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;
}
@@ -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 = ''
-5
View File
@@ -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,