Introduce WP_MAX_MEMORY_LIMIT constant for the high memory limit we set when image processing and unzipping.

Ensure it is always filterable by plugins as well as configurable in wp-config
Fixes #13847 props hakre


git-svn-id: http://svn.automattic.com/wordpress/trunk@17749 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
westi 2011-04-28 16:25:36 +00:00
parent 9cb6e158fc
commit 80f4e83a8c
6 changed files with 10 additions and 6 deletions

View File

@ -106,7 +106,7 @@ else
require(ABSPATH . 'wp-admin/menu.php');
if ( current_user_can( 'manage_options' ) )
@ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', '256M' ) );
@ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
do_action('admin_init');

View File

@ -518,7 +518,7 @@ function unzip_file($file, $to) {
return new WP_Error('fs_unavailable', __('Could not access filesystem.'));
// Unzip can use a lot of memory, but not this much hopefully
@ini_set('memory_limit', '256M');
@ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
$needed_dirs = array();
$to = trailingslashit($to);

View File

@ -391,7 +391,7 @@ function image_edit_apply_changes($img, $changes) {
function stream_preview_image($post_id) {
$post = get_post($post_id);
@ini_set('memory_limit', '256M');
@ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
$img = load_image_to_edit( $post_id, $post->post_mime_type, array(400, 400) );
if ( !is_resource($img) )
@ -496,7 +496,7 @@ function wp_save_image($post_id) {
$return = new stdClass;
$success = $delete = $scaled = $nocrop = false;
$post = get_post($post_id);
@ini_set('memory_limit', '256M');
@ini_set( 'memory_limit', apply_filters( 'admin_memory_limit', WP_MAX_MEMORY_LIMIT ) );
$img = load_image_to_edit($post_id, $post->post_mime_type);
if ( !is_resource($img) ) {

View File

@ -24,6 +24,10 @@ function wp_initial_constants( ) {
}
}
if ( ! defined( 'WP_MAX_MEMORY_LIMIT' ) ) {
define( 'WP_MAX_MEMORY_LIMIT', '256M' );
}
/**
* The $blog_id global, which you can change in the config allows you to create a simple
* multiple blog installation using just one WordPress and changing $blog_id around.

View File

@ -250,7 +250,7 @@ function wp_load_image( $file ) {
return __('The GD image library is not installed.');
// Set artificially high because GD uses uncompressed images in memory
@ini_set('memory_limit', '256M');
@ini_set( 'memory_limit', apply_filters( 'image_memory_limit', WP_MAX_MEMORY_LIMIT ) );
$image = imagecreatefromstring( file_get_contents( $file ) );
if ( !is_resource( $image ) )

View File

@ -20,7 +20,7 @@ require( ABSPATH . WPINC . '/load.php' );
require( ABSPATH . WPINC . '/default-constants.php' );
require( ABSPATH . WPINC . '/version.php' );
// Set initial default constants including WP_MEMORY_LIMIT, WP_DEBUG, WP_CONTENT_DIR and WP_CACHE.
// Set initial default constants including WP_MEMORY_LIMIT, WP_MAX_MEMORY_LIMIT, WP_DEBUG, WP_CONTENT_DIR and WP_CACHE.
wp_initial_constants( );
// Disable magic quotes at runtime. Magic quotes are added using wpdb later in wp-settings.php.