Make WordPress Core


Ignore:
Timestamp:
07/08/2016 02:36:37 PM (9 years ago)
Author:
ocean90
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-admin/admin.php

    r37998 r38015  
    139139
    140140if ( current_user_can( 'manage_options' ) ) {
    141     /**
    142      * Filters the maximum memory limit available for administration screens.
    143      *
    144      * This only applies to administrators, who may require more memory for tasks like updates.
    145      * Memory limits when processing images (uploaded or edited by users of any role) are
    146      * handled separately.
    147      *
    148      * The WP_MAX_MEMORY_LIMIT constant specifically defines the maximum memory limit available
    149      * when in the administration back end. The default is 256M, or 256 megabytes of memory.
    150      *
    151      * @since 3.0.0
    152      *
    153      * @param string 'WP_MAX_MEMORY_LIMIT' The maximum WordPress memory limit. Default 256M.
    154      */
    155     @ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
     141    wp_raise_memory_limit( 'admin' );
    156142}
    157143
Note: See TracChangeset for help on using the changeset viewer.