Bootstrap: Enhance core's memory limit handling.
* Don't lower memory limit if the current limit is greater than `WP_MAX_MEMORY_LIMIT`.
* Set `WP_MEMORY_LIMIT` and `WP_MAX_MEMORY_LIMIT` to current limit if the `memory_limit` setting can't be changed at runtime.
* Use `wp_convert_hr_to_bytes()` when parsing the value of the `memory_limit` setting because it can be a shorthand or an integer value.
* Introduce `wp_raise_memory_limit( $context )` to raise the PHP memory limit for memory intensive processes. This DRYs up some logic and includes the existing `admin_memory_limit` and `image_memory_limit` filters. The function can also be used for custom contexts, the `{$context}_memory_limit` filter allows to customize the limit.
* Introduce `wp_is_ini_value_changeable( $setting )` to determine whether a PHP ini value is changeable at runtime.
* Remove a `function_exists( 'memory_get_usage' )` check. Since PHP 5.2.1 support for memory limit is always enabled.
Related commits: [38011-38013]
Props jrf, A5hleyRich, swissspidy, ocean90.
Fixes #32075.
Built from https://develop.svn.wordpress.org/trunk@38015
git-svn-id: http://core.svn.wordpress.org/trunk@37956 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
@@ -138,21 +138,7 @@ else
|
||||
require(ABSPATH . 'wp-admin/menu.php');
|
||||
|
||||
if ( current_user_can( 'manage_options' ) ) {
|
||||
/**
|
||||
* Filters the maximum memory limit available for administration screens.
|
||||
*
|
||||
* This only applies to administrators, who may require more memory for tasks like updates.
|
||||
* Memory limits when processing images (uploaded or edited by users of any role) are
|
||||
* handled separately.
|
||||
*
|
||||
* The WP_MAX_MEMORY_LIMIT constant specifically defines the maximum memory limit available
|
||||
* when in the administration back end. The default is 256M, or 256 megabytes of memory.
|
||||
*
|
||||
* @since 3.0.0
|
||||
*
|
||||
* @param string 'WP_MAX_MEMORY_LIMIT' The maximum WordPress memory limit. Default 256M.
|
||||
*/
|
||||
@ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
|
||||
wp_raise_memory_limit( 'admin' );
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user