You are here

public static function Environment::checkMemoryLimit in Drupal 8

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Component/Utility/Environment.php \Drupal\Component\Utility\Environment::checkMemoryLimit()

Compares the memory required for an operation to the available memory.

Parameters

string $required: The memory required for the operation, expressed as a number of bytes with optional SI or IEC binary unit prefix (e.g. 2, 3K, 5MB, 10G, 6GiB, 8bytes, 9mbytes).

$memory_limit: (optional) The memory limit for the operation, expressed as a number of bytes with optional SI or IEC binary unit prefix (e.g. 2, 3K, 5MB, 10G, 6GiB, 8bytes, 9mbytes). If no value is passed, the current PHP memory_limit will be used. Defaults to NULL.

Return value

bool TRUE if there is sufficient memory to allow the operation, or FALSE otherwise.

5 calls to Environment::checkMemoryLimit()
color_scheme_form_submit in core/modules/color/color.module
Form submission handler for color_scheme_form().
EnvironmentTest::testCheckMemoryLimit in core/tests/Drupal/Tests/Component/Utility/EnvironmentTest.php
Tests \Drupal\Component\Utility\Environment::checkMemoryLimit().
LargeQueryTest::testMaxAllowedPacketQueryTruncating in core/tests/Drupal/KernelTests/Core/Database/LargeQueryTest.php
Tests truncation of messages when max_allowed_packet exception occurs.
simpletest_requirements in core/modules/simpletest/simpletest.install
Implements hook_requirements().
system_requirements in core/modules/system/system.install
Implements hook_requirements().

File

core/lib/Drupal/Component/Utility/Environment.php, line 27

Class

Environment
Provides PHP environment helper methods.

Namespace

Drupal\Component\Utility

Code

public static function checkMemoryLimit($required, $memory_limit = NULL) {
  if (!isset($memory_limit)) {
    $memory_limit = ini_get('memory_limit');
  }

  // There is sufficient memory if:
  // - No memory limit is set.
  // - The memory limit is set to unlimited (-1).
  // - The memory limit is greater than or equal to the memory required for
  //   the operation.
  return !$memory_limit || $memory_limit == -1 || Bytes::toInt($memory_limit) >= Bytes::toInt($required);
}