From 868e43d4716131475e448432db64f0fb3f8dc496 Mon Sep 17 00:00:00 2001 From: Tonya Mork Date: Wed, 8 Feb 2023 15:01:32 +0000 Subject: [PATCH] Upgrade/Install: Skip preloading Requests for WordPress versions before 4.6. Skip preloading Requests files in `_preload_old_requests_classes_and_interfaces()` when updating from a WordPress version older than 4.6. Why? Requests library was first introduced into WordPress 4.6 via #33055 / [37428]. If a user is upgrading from a version older than 4.6, this changeset prevents the Requests preloading to prevent a fatal error of attempting to load files that do not exist in their current WordPress version. Follow-up to [54997], [37428]. Props afragen, costdev, ironprogrammer, antonvlasenko. Fixes #57662. git-svn-id: https://develop.svn.wordpress.org/trunk@55296 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-admin/includes/update-core.php | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/wp-admin/includes/update-core.php b/src/wp-admin/includes/update-core.php index ac305ada4a..170746370a 100644 --- a/src/wp-admin/includes/update-core.php +++ b/src/wp-admin/includes/update-core.php @@ -1595,11 +1595,22 @@ function update_core( $from, $to ) { * * @global array $_old_requests_files Requests files to be preloaded. * @global WP_Filesystem_Base $wp_filesystem WordPress filesystem subclass. + * @global string $wp_version The WordPress version string. * * @param string $to Path to old WordPress installation. */ function _preload_old_requests_classes_and_interfaces( $to ) { - global $_old_requests_files, $wp_filesystem; + global $_old_requests_files, $wp_filesystem, $wp_version; + + /* + * Requests was introduced in WordPress 4.6. + * + * Skip preloading if the website was previously using + * an earlier version of WordPress. + */ + if ( version_compare( $wp_version, '4.6', '<' ) ) { + return; + } if ( ! defined( 'REQUESTS_SILENCE_PSR0_DEPRECATIONS' ) ) { define( 'REQUESTS_SILENCE_PSR0_DEPRECATIONS', true );