[wp-trac] [WordPress Trac] #55603: PHP 8.2: address deprecation of the utf8_encode() and utf8_decode() functions

WordPress Trac noreply at wordpress.org
Thu Feb 15 14:49:42 UTC 2024


#55603: PHP 8.2: address deprecation of the utf8_encode() and utf8_decode()
functions
--------------------------------------------+------------------------------
 Reporter:  jrf                             |       Owner:  hellofromTonya
     Type:  task (blessed)                  |      Status:  assigned
 Priority:  normal                          |   Milestone:  Future Release
Component:  General                         |     Version:  6.0
 Severity:  normal                          |  Resolution:
 Keywords:  2nd-opinion php82 dev-feedback  |     Focuses:  coding-
                                            |  standards
--------------------------------------------+------------------------------

Comment (by hellofromTonya):

 I too like and agree with Option 2, requiring the Mbstring extension. IMO
 it's a necessary and more clean approach to resolve this incompatibility.

 As [comment:36 desrosj] noted, there is precedence and artwork for
 blocking installation and upgrade when an extension is missing:
 > There is precedent for blocking a site from upgrading when a PHP
 extension is missing. In WordPress 5.2, the
 [https://make.wordpress.org/core/2019/10/15/php-native-json-extension-now-
 required/ native JSON extension was marked as required] (see [46455]).
 When an upgrade was attempted and a site did not have this extension
 loaded, an error was shown and the update was cancelled.

 and
 >One other thing to note is that an error code specific to the scenario
 where the JSON extension missing is returned, which allows the number of
 sites to being blocked from an update to be tracked in .org's mission
 control to gauge whether this deprecation ends up being problematic or not
 (see [46560]).

 IMO the decision to require the extension and to move forward with
 implementing it (per the previous changesets approach) should not be
 dependent upon or blocked #56017. Why? #56017 is an enhancement for
 handling all required extensions, whereas this ticket is focused
 specifically on one requirement to unblock a specific incompatibility Core
 has with PHP 8.2.

 I also wonder: How many hosts will be impacted? How in the past has this
 data been collected?

 Well, #47699 to require JSON extension showed a way forward when
 [https://core.trac.wordpress.org/ticket/47699#comment:6 VaultPress helped
 to collect the information]:
 >The good folks at VaultPress have run some checks across the sites they
 monitor, and have found approximately 0.01% of PHP 5.6+ sites don't have
 the JSON extension available.

 I wonder:

 Are they available to collect it again?

 What other avenues are available to collect the data?

-- 
Ticket URL: <https://core.trac.wordpress.org/ticket/55603#comment:50>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list