Make WordPress Core

Opened 18 months ago

Last modified 18 months ago

#57964 new enhancement

Sitehealth recommended improvements - utf8mb4 requires a newer client library

Reported by: ipajen's profile ipajen Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Site Health Keywords: PHP82 2nd-opinion
Focuses: Cc:

Description

WordPress: 6.2-RC2
Sitehealth recommended improvements - utf8mb4 requires a newer client library

UTF8MB4 is the character set WordPress prefers for database storage because it safely supports the widest set of characters and encodings, including Emoji, enabling better support for non-English languages.

Your MariaDB version supports utf8mb4.

WordPress’ utf8mb4 support requires MySQL client library (libmysql) version 5.5.3 or newer. Please contact your server administrator.

from phpinfo.php
mysqli
Client API library version	3.1.20
Client API header version	10.4.28-MariaDB
mysqlnd
Version	mysqlnd 8.1.16

In WordPress site health info:
Extension	mysqli
Server version	10.4.28-MariaDB
Client version	10.4.28-MariaDB

https://php.watch/versions/8.2/mysqli-libmysql-no-longer-supported

With PHP 8.2 should this recommended be given as libmysql no longer supported in PHP 8.2. Does any version of mysqlnd support utf8mb4 instead and should be the recommendation instead?

Note: Running PHP 8.1 on production site and my local PHP 8.2 doesn't use libmysql if this is already fixed.

Change History (2)

#1 @costdev
18 months ago

  • Keywords 2nd-opinion added

Hi @ipajen, thanks for opening this ticket!

mysqlnd 5.0.9 or later supports utf8mb4. This is noted when mysqlnd appears in the client info Ref. When mysqlnd does not appear in the client info, then the libmysql recommendation is made.

Before upgrading to use PHP 8.2, server administrators should already be aware of the need to use mysqlnd in PHP 8.2+.

Since PHP 7.4, the version of mysqlnd is the same as the PHP version Ref, so this shouldn't be a problem when using PHP 8.2+.

Last edited 18 months ago by costdev (previous) (diff)

#2 @ipajen
18 months ago

Thank you for you feedback.
Bit confusing as mysqlnd are in use to get the recommendation to use libmysql. Guess there's nothing to do as mysqlnd does not appear in the client info. But should the recommendation come at all as mysqlnd Version mysqlnd 8.1.16 is used but not shown in headers?

Server configuration:

extension: mysqli

WP Healthcheck:
Serverversion	10.4.28-MariaDB
Klientversion	10.4.28-MariaDB

phpinfo.php
mysqli
Client API library version	3.1.20
Client API header version	10.4.28-MariaDB
mysqlnd
Version	mysqlnd 8.1.16


vs


Extension: nd_mysqli

WP Healthcheck: 
Serverversion	10.4.28-MariaDB
Klientversion	mysqlnd 8.1.16

phpinfo.php
mysqli
Client API library version	mysqlnd 8.1.16
mysqlnd
Version	mysqlnd 8.1.16

Thank you !

Note: See TracTickets for help on using tickets.