General: Increase the minimum supported version of PHP to 7.4.
Props justlevine, masteradhoc, samiamnot, matt, bradshawtm, 4thhubbard, desrosj, jorbin, westonruter, peterwilsoncc, johnbillion Fixes #62622 Built from https://develop.svn.wordpress.org/trunk@61459 git-svn-id: http://core.svn.wordpress.org/trunk@60771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -52,7 +52,7 @@
|
|||||||
|
|
||||||
<h2>System Requirements</h2>
|
<h2>System Requirements</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="https://www.php.net/">PHP</a> version <strong>7.2.24</strong> or greater.</li>
|
<li><a href="https://www.php.net/">PHP</a> version <strong>7.4</strong> or greater.</li>
|
||||||
<li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.5.5</strong> or greater.</li>
|
<li><a href="https://www.mysql.com/">MySQL</a> version <strong>5.5.5</strong> or greater.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|||||||
@@ -965,6 +965,7 @@ class WP_Site_Health {
|
|||||||
'function' => 'mysqli_connect',
|
'function' => 'mysqli_connect',
|
||||||
'required' => false,
|
'required' => false,
|
||||||
),
|
),
|
||||||
|
// Sodium was introduced in PHP 7.2, but the extension may not be enabled.
|
||||||
'libsodium' => array(
|
'libsodium' => array(
|
||||||
'constant' => 'SODIUM_LIBRARY_VERSION',
|
'constant' => 'SODIUM_LIBRARY_VERSION',
|
||||||
'required' => false,
|
'required' => false,
|
||||||
|
|||||||
@@ -1621,8 +1621,8 @@ function wp_check_php_version() {
|
|||||||
|
|
||||||
$response['is_lower_than_future_minimum'] = false;
|
$response['is_lower_than_future_minimum'] = false;
|
||||||
|
|
||||||
// The minimum supported PHP version will be updated to 7.4 in the future. Check if the current version is lower.
|
// The minimum supported PHP version will be updated to at least 8.0 in the future. Check if the current version is lower.
|
||||||
if ( version_compare( $version, '7.4', '<' ) ) {
|
if ( version_compare( $version, '8.0', '<' ) ) {
|
||||||
$response['is_lower_than_future_minimum'] = true;
|
$response['is_lower_than_future_minimum'] = true;
|
||||||
|
|
||||||
// Force showing of warnings.
|
// Force showing of warnings.
|
||||||
|
|||||||
@@ -296,80 +296,11 @@ if ( ! function_exists( 'utf8_decode' ) ) :
|
|||||||
endif;
|
endif;
|
||||||
endif;
|
endif;
|
||||||
|
|
||||||
// sodium_crypto_box() was introduced in PHP 7.2.
|
// sodium_crypto_box() was introduced with Sodium in PHP 7.2, but the extension may not be enabled.
|
||||||
if ( ! function_exists( 'sodium_crypto_box' ) ) {
|
if ( ! function_exists( 'sodium_crypto_box' ) ) {
|
||||||
require ABSPATH . WPINC . '/sodium_compat/autoload.php';
|
require ABSPATH . WPINC . '/sodium_compat/autoload.php';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( ! function_exists( 'is_countable' ) ) {
|
|
||||||
/**
|
|
||||||
* Polyfill for is_countable() function added in PHP 7.3.
|
|
||||||
*
|
|
||||||
* Verify that the content of a variable is an array or an object
|
|
||||||
* implementing the Countable interface.
|
|
||||||
*
|
|
||||||
* @since 4.9.6
|
|
||||||
*
|
|
||||||
* @param mixed $value The value to check.
|
|
||||||
* @return bool True if `$value` is countable, false otherwise.
|
|
||||||
*/
|
|
||||||
function is_countable( $value ) {
|
|
||||||
return ( is_array( $value )
|
|
||||||
|| $value instanceof Countable
|
|
||||||
|| $value instanceof SimpleXMLElement
|
|
||||||
|| $value instanceof ResourceBundle
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! function_exists( 'array_key_first' ) ) {
|
|
||||||
/**
|
|
||||||
* Polyfill for array_key_first() function added in PHP 7.3.
|
|
||||||
*
|
|
||||||
* Get the first key of the given array without affecting
|
|
||||||
* the internal array pointer.
|
|
||||||
*
|
|
||||||
* @since 5.9.0
|
|
||||||
*
|
|
||||||
* @param array $array An array.
|
|
||||||
* @return string|int|null The first key of array if the array
|
|
||||||
* is not empty; `null` otherwise.
|
|
||||||
*/
|
|
||||||
function array_key_first( array $array ) { // phpcs:ignore Universal.NamingConventions.NoReservedKeywordParameterNames.arrayFound
|
|
||||||
if ( empty( $array ) ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ( $array as $key => $value ) {
|
|
||||||
return $key;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! function_exists( 'array_key_last' ) ) {
|
|
||||||
/**
|
|
||||||
* Polyfill for `array_key_last()` function added in PHP 7.3.
|
|
||||||
*
|
|
||||||
* Get the last key of the given array without affecting the
|
|
||||||
* internal array pointer.
|
|
||||||
*
|
|
||||||
* @since 5.9.0
|
|
||||||
*
|
|
||||||
* @param array $array An array.
|
|
||||||
* @return string|int|null The last key of array if the array
|
|
||||||
*. is not empty; `null` otherwise.
|
|
||||||
*/
|
|
||||||
function array_key_last( array $array ) { // phpcs:ignore Universal.NamingConventions.NoReservedKeywordParameterNames.arrayFound
|
|
||||||
if ( empty( $array ) ) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
end( $array );
|
|
||||||
|
|
||||||
return key( $array );
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( ! function_exists( 'array_is_list' ) ) {
|
if ( ! function_exists( 'array_is_list' ) ) {
|
||||||
/**
|
/**
|
||||||
* Polyfill for `array_is_list()` function added in PHP 8.1.
|
* Polyfill for `array_is_list()` function added in PHP 8.1.
|
||||||
|
|||||||
46
wp-includes/css/dist/index.php
vendored
46
wp-includes/css/dist/index.php
vendored
@@ -12,20 +12,15 @@ return array(
|
|||||||
'path' => 'preferences/style',
|
'path' => 'preferences/style',
|
||||||
'dependencies' => array('wp-components'),
|
'dependencies' => array('wp-components'),
|
||||||
),
|
),
|
||||||
array(
|
|
||||||
'handle' => 'wp-list-reusable-blocks',
|
|
||||||
'path' => 'list-reusable-blocks/style',
|
|
||||||
'dependencies' => array('wp-components'),
|
|
||||||
),
|
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-nux',
|
'handle' => 'wp-nux',
|
||||||
'path' => 'nux/style',
|
'path' => 'nux/style',
|
||||||
'dependencies' => array('wp-components'),
|
'dependencies' => array('wp-components'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-patterns',
|
'handle' => 'wp-list-reusable-blocks',
|
||||||
'path' => 'patterns/style',
|
'path' => 'list-reusable-blocks/style',
|
||||||
'dependencies' => array('wp-block-editor', 'wp-components'),
|
'dependencies' => array('wp-components'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-reusable-blocks',
|
'handle' => 'wp-reusable-blocks',
|
||||||
@@ -33,8 +28,8 @@ return array(
|
|||||||
'dependencies' => array('wp-block-editor', 'wp-components'),
|
'dependencies' => array('wp-block-editor', 'wp-components'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-widgets',
|
'handle' => 'wp-patterns',
|
||||||
'path' => 'widgets/style',
|
'path' => 'patterns/style',
|
||||||
'dependencies' => array('wp-block-editor', 'wp-components'),
|
'dependencies' => array('wp-block-editor', 'wp-components'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
@@ -47,6 +42,11 @@ return array(
|
|||||||
'path' => 'components/style',
|
'path' => 'components/style',
|
||||||
'dependencies' => array(),
|
'dependencies' => array(),
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'handle' => 'wp-widgets',
|
||||||
|
'path' => 'widgets/style',
|
||||||
|
'dependencies' => array('wp-block-editor', 'wp-components'),
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-format-library',
|
'handle' => 'wp-format-library',
|
||||||
'path' => 'format-library/style',
|
'path' => 'format-library/style',
|
||||||
@@ -62,39 +62,39 @@ return array(
|
|||||||
'path' => 'customize-widgets/style',
|
'path' => 'customize-widgets/style',
|
||||||
'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-components', 'wp-media-utils', 'wp-preferences', 'wp-widgets'),
|
'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-components', 'wp-media-utils', 'wp-preferences', 'wp-widgets'),
|
||||||
),
|
),
|
||||||
array(
|
|
||||||
'handle' => 'wp-edit-post',
|
|
||||||
'path' => 'edit-post/style',
|
|
||||||
'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-commands', 'wp-components', 'wp-editor', 'wp-preferences', 'wp-widgets'),
|
|
||||||
),
|
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-media-utils',
|
'handle' => 'wp-media-utils',
|
||||||
'path' => 'media-utils/style',
|
'path' => 'media-utils/style',
|
||||||
'dependencies' => array('wp-components'),
|
'dependencies' => array('wp-components'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-block-library',
|
'handle' => 'wp-edit-post',
|
||||||
'path' => 'block-library/style',
|
'path' => 'edit-post/style',
|
||||||
'dependencies' => array('wp-block-editor', 'wp-components', 'wp-patterns'),
|
'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-commands', 'wp-components', 'wp-editor', 'wp-preferences', 'wp-widgets'),
|
||||||
),
|
),
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-edit-widgets',
|
'handle' => 'wp-edit-widgets',
|
||||||
'path' => 'edit-widgets/style',
|
'path' => 'edit-widgets/style',
|
||||||
'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-components', 'wp-media-utils', 'wp-patterns', 'wp-preferences', 'wp-widgets'),
|
'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-components', 'wp-media-utils', 'wp-patterns', 'wp-preferences', 'wp-widgets'),
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'handle' => 'wp-block-library',
|
||||||
|
'path' => 'block-library/style',
|
||||||
|
'dependencies' => array('wp-block-editor', 'wp-components', 'wp-patterns'),
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-editor',
|
'handle' => 'wp-editor',
|
||||||
'path' => 'editor/style',
|
'path' => 'editor/style',
|
||||||
'dependencies' => array('wp-block-editor', 'wp-commands', 'wp-components', 'wp-media-utils', 'wp-patterns', 'wp-preferences'),
|
'dependencies' => array('wp-block-editor', 'wp-commands', 'wp-components', 'wp-media-utils', 'wp-patterns', 'wp-preferences'),
|
||||||
),
|
),
|
||||||
array(
|
|
||||||
'handle' => 'wp-edit-site',
|
|
||||||
'path' => 'edit-site/style',
|
|
||||||
'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-commands', 'wp-components', 'wp-editor', 'wp-patterns', 'wp-preferences', 'wp-widgets'),
|
|
||||||
),
|
|
||||||
array(
|
array(
|
||||||
'handle' => 'wp-block-editor',
|
'handle' => 'wp-block-editor',
|
||||||
'path' => 'block-editor/style',
|
'path' => 'block-editor/style',
|
||||||
'dependencies' => array('wp-commands', 'wp-components', 'wp-preferences'),
|
'dependencies' => array('wp-commands', 'wp-components', 'wp-preferences'),
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'handle' => 'wp-edit-site',
|
||||||
|
'path' => 'edit-site/style',
|
||||||
|
'dependencies' => array('wp-block-editor', 'wp-block-library', 'wp-commands', 'wp-components', 'wp-editor', 'wp-patterns', 'wp-preferences', 'wp-widgets'),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
|
|||||||
30
wp-includes/js/dist/script-modules/index.php
vendored
30
wp-includes/js/dist/script-modules/index.php
vendored
@@ -12,16 +12,6 @@ return array(
|
|||||||
'path' => 'core-abilities/index',
|
'path' => 'core-abilities/index',
|
||||||
'asset' => 'core-abilities/index.min.asset.php',
|
'asset' => 'core-abilities/index.min.asset.php',
|
||||||
),
|
),
|
||||||
array(
|
|
||||||
'id' => '@wordpress/a11y',
|
|
||||||
'path' => 'a11y/index',
|
|
||||||
'asset' => 'a11y/index.min.asset.php',
|
|
||||||
),
|
|
||||||
array(
|
|
||||||
'id' => '@wordpress/interactivity',
|
|
||||||
'path' => 'interactivity/index',
|
|
||||||
'asset' => 'interactivity/index.min.asset.php',
|
|
||||||
),
|
|
||||||
array(
|
array(
|
||||||
'id' => '@wordpress/interactivity-router',
|
'id' => '@wordpress/interactivity-router',
|
||||||
'path' => 'interactivity-router/index',
|
'path' => 'interactivity-router/index',
|
||||||
@@ -32,6 +22,21 @@ return array(
|
|||||||
'path' => 'interactivity-router/full-page',
|
'path' => 'interactivity-router/full-page',
|
||||||
'asset' => 'interactivity-router/full-page.min.asset.php',
|
'asset' => 'interactivity-router/full-page.min.asset.php',
|
||||||
),
|
),
|
||||||
|
array(
|
||||||
|
'id' => '@wordpress/interactivity',
|
||||||
|
'path' => 'interactivity/index',
|
||||||
|
'asset' => 'interactivity/index.min.asset.php',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'id' => '@wordpress/a11y',
|
||||||
|
'path' => 'a11y/index',
|
||||||
|
'asset' => 'a11y/index.min.asset.php',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'id' => '@wordpress/abilities',
|
||||||
|
'path' => 'abilities/index',
|
||||||
|
'asset' => 'abilities/index.min.asset.php',
|
||||||
|
),
|
||||||
array(
|
array(
|
||||||
'id' => '@wordpress/latex-to-mathml',
|
'id' => '@wordpress/latex-to-mathml',
|
||||||
'path' => 'latex-to-mathml/index',
|
'path' => 'latex-to-mathml/index',
|
||||||
@@ -42,11 +47,6 @@ return array(
|
|||||||
'path' => 'latex-to-mathml/loader',
|
'path' => 'latex-to-mathml/loader',
|
||||||
'asset' => 'latex-to-mathml/loader.min.asset.php',
|
'asset' => 'latex-to-mathml/loader.min.asset.php',
|
||||||
),
|
),
|
||||||
array(
|
|
||||||
'id' => '@wordpress/abilities',
|
|
||||||
'path' => 'abilities/index',
|
|
||||||
'asset' => 'abilities/index.min.asset.php',
|
|
||||||
),
|
|
||||||
array(
|
array(
|
||||||
'id' => '@wordpress/route',
|
'id' => '@wordpress/route',
|
||||||
'path' => 'route/index',
|
'path' => 'route/index',
|
||||||
|
|||||||
@@ -2777,11 +2777,10 @@ if ( ! function_exists( 'wp_hash_password' ) ) :
|
|||||||
* - `PASSWORD_ARGON2ID`
|
* - `PASSWORD_ARGON2ID`
|
||||||
* - `PASSWORD_DEFAULT`
|
* - `PASSWORD_DEFAULT`
|
||||||
*
|
*
|
||||||
* The values of the algorithm constants are strings in PHP 7.4+ and integers in PHP 7.3 and earlier.
|
|
||||||
*
|
|
||||||
* @since 6.8.0
|
* @since 6.8.0
|
||||||
|
* @since 7.0.0 The `$algorithm` parameter is now always a string.
|
||||||
*
|
*
|
||||||
* @param string|int $algorithm The hashing algorithm. Default is the value of the `PASSWORD_BCRYPT` constant.
|
* @param string $algorithm The hashing algorithm. Default is the value of the `PASSWORD_BCRYPT` constant.
|
||||||
*/
|
*/
|
||||||
$algorithm = apply_filters( 'wp_hash_password_algorithm', PASSWORD_BCRYPT );
|
$algorithm = apply_filters( 'wp_hash_password_algorithm', PASSWORD_BCRYPT );
|
||||||
|
|
||||||
@@ -2791,14 +2790,13 @@ if ( ! function_exists( 'wp_hash_password' ) ) :
|
|||||||
* The default hashing algorithm is bcrypt, but this can be changed via the {@see 'wp_hash_password_algorithm'}
|
* The default hashing algorithm is bcrypt, but this can be changed via the {@see 'wp_hash_password_algorithm'}
|
||||||
* filter. You must ensure that the options are appropriate for the algorithm in use.
|
* filter. You must ensure that the options are appropriate for the algorithm in use.
|
||||||
*
|
*
|
||||||
* The values of the algorithm constants are strings in PHP 7.4+ and integers in PHP 7.3 and earlier.
|
|
||||||
*
|
|
||||||
* @since 6.8.0
|
* @since 6.8.0
|
||||||
|
* @since 7.0.0 The `$algorithm` parameter is now always a string.
|
||||||
*
|
*
|
||||||
* @param array $options Array of options to pass to the password hashing functions.
|
* @param array $options Array of options to pass to the password hashing functions.
|
||||||
* By default this is an empty array which means the default
|
* By default this is an empty array which means the default
|
||||||
* options will be used.
|
* options will be used.
|
||||||
* @param string|int $algorithm The hashing algorithm in use.
|
* @param string $algorithm The hashing algorithm in use.
|
||||||
*/
|
*/
|
||||||
$options = apply_filters( 'wp_hash_password_options', array(), $algorithm );
|
$options = apply_filters( 'wp_hash_password_options', array(), $algorithm );
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
*
|
*
|
||||||
* @global string $wp_version
|
* @global string $wp_version
|
||||||
*/
|
*/
|
||||||
$wp_version = '7.0-alpha-61458';
|
$wp_version = '7.0-alpha-61459';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.
|
||||||
@@ -37,7 +37,7 @@ $tinymce_version = '49110-20250317';
|
|||||||
*
|
*
|
||||||
* @global string $required_php_version
|
* @global string $required_php_version
|
||||||
*/
|
*/
|
||||||
$required_php_version = '7.2.24';
|
$required_php_version = '7.4';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Holds the names of required PHP extensions.
|
* Holds the names of required PHP extensions.
|
||||||
|
|||||||
Reference in New Issue
Block a user