function drupal_set_time_limit

Same name in other branches
  1. 7.x includes/common.inc \drupal_set_time_limit()

Attempts to set the PHP maximum execution time.

This function is a wrapper around the PHP function set_time_limit(). When called, set_time_limit() restarts the timeout counter from zero. In other words, if the timeout is the default 30 seconds, and 25 seconds into script execution a call such as set_time_limit(20) is made, the script will run for a total of 45 seconds before timing out.

If the current time limit is not unlimited it is possible to decrease the total time limit if the sum of the new time limit and the current time spent running the script is inferior to the original time limit. It is inherent to the way set_time_limit() works, it should rather be called with an appropriate value every time you need to allocate a certain amount of time to execute a task than only once at the beginning of the script.

Before calling set_time_limit(), we check if this function is available because it could be disabled by the server administrator. We also hide all the errors that could occur when calling set_time_limit(), because it is not possible to reliably ensure that PHP or a security extension will not issue a warning/error if they prevent the use of this function.

Parameters

$time_limit: An integer specifying the new time limit, in seconds. A value of 0 indicates unlimited execution time.

Deprecated

in drupal:8.7.0 and is removed from drupal:9.0.0. Use \Drupal\Component\Utility\Environment::setTimeLimit() instead.

See also

https://www.drupal.org/node/3000058

Related topics

1 call to drupal_set_time_limit()
LegacyFunctionsTest::testDrupalSetTimeLimit in core/tests/Drupal/KernelTests/Core/Common/LegacyFunctionsTest.php
@expectedDeprecation drupal_set_time_limit() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \Drupal\Component\Utility\Environment::setTimeLimit() instead. See https://www.drupal.org/node/3000058. @doesNotPerformAssertions

File

core/includes/common.inc, line 416

Code

function drupal_set_time_limit($time_limit) {
    @trigger_error('drupal_set_time_limit() is deprecated in Drupal 8.7.0 and will be removed before Drupal 9.0.0. Use \\Drupal\\Component\\Utility\\Environment::setTimeLimit() instead. See https://www.drupal.org/node/3000058.', E_USER_DEPRECATED);
    Environment::setTimeLimit($time_limit);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.