Check that set_time_limit is not disabled before calling ittags/v12.0.0beta1
@@ -24,7 +24,9 @@ | |||
*/ | |||
// no php execution timeout for webdav | |||
set_time_limit(0); | |||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
@set_time_limit(0); | |||
} | |||
ignore_user_abort(true); | |||
// Turn off output buffering to prevent memory problems |
@@ -20,7 +20,9 @@ | |||
* | |||
*/ | |||
// no php execution timeout for webdav | |||
set_time_limit(0); | |||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
@set_time_limit(0); | |||
} | |||
ignore_user_abort(true); | |||
// Turn off output buffering to prevent memory problems |
@@ -48,7 +48,9 @@ try { | |||
require_once __DIR__ . '/lib/base.php'; | |||
// set to run indefinitely if needed | |||
set_time_limit(0); | |||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
@set_time_limit(0); | |||
} | |||
if (!OC::$CLI) { | |||
echo "This script can be run from the command line only" . PHP_EOL; |
@@ -29,7 +29,10 @@ | |||
*/ | |||
use Symfony\Component\EventDispatcher\GenericEvent; | |||
set_time_limit(0); | |||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
@set_time_limit(0); | |||
} | |||
require_once '../../lib/base.php'; | |||
$l = \OC::$server->getL10N('core'); |
@@ -160,6 +160,14 @@ | |||
type: OC.SetupChecks.MESSAGE_TYPE_INFO | |||
}); | |||
} | |||
if(!data.isSettimelimitAvailable) { | |||
messages.push({ | |||
msg: t( | |||
'core', | |||
'The PHP function "set_time_limit" is not available. This could result in scripts being halted mid-execution, breaking your installation. We strongly recommend enabling this function.'), | |||
type: OC.SetupChecks.MESSAGE_TYPE_WARNING | |||
}); | |||
} | |||
} else { | |||
messages.push({ | |||
msg: t('core', 'Error occurred while checking server setup'), |
@@ -84,7 +84,9 @@ try { | |||
if (OC::$CLI) { | |||
// set to run indefinitely if needed | |||
set_time_limit(0); | |||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
@set_time_limit(0); | |||
} | |||
// the cron job must be executed with the right user | |||
if (!function_exists('posix_getuid')) { |
@@ -616,7 +616,9 @@ class OC { | |||
//Let´s try to overwrite some defaults anyway | |||
//try to set the maximum execution time to 60min | |||
@set_time_limit(3600); | |||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
@set_time_limit(3600); | |||
} | |||
@ini_set('max_execution_time', 3600); | |||
@ini_set('max_input_time', 3600); | |||
@@ -147,7 +147,9 @@ class OC_Files { | |||
$streamer->sendHeaders($name); | |||
$executionTime = intval(OC::$server->getIniWrapper()->getNumeric('max_execution_time')); | |||
set_time_limit(0); | |||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
@set_time_limit(0); | |||
} | |||
ignore_user_abort(true); | |||
if ($getType === self::ZIP_FILES) { | |||
foreach ($files as $file) { |
@@ -285,6 +285,20 @@ class CheckSetupController extends Controller { | |||
return !(!extension_loaded('memcached') && extension_loaded('memcache')); | |||
} | |||
/** | |||
* Checks if set_time_limit is not disabled. | |||
* | |||
* @return bool | |||
*/ | |||
private function isSettimelimitAvailable() { | |||
if (function_exists('set_time_limit') | |||
&& strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
return true; | |||
} | |||
return false; | |||
} | |||
/** | |||
* @return RedirectResponse | |||
*/ | |||
@@ -411,6 +425,7 @@ Raw output | |||
'codeIntegrityCheckerDocumentation' => $this->urlGenerator->linkToDocs('admin-code-integrity'), | |||
'isOpcacheProperlySetup' => $this->isOpcacheProperlySetup(), | |||
'phpOpcacheDocumentation' => $this->urlGenerator->linkToDocs('admin-php-opcache'), | |||
'isSettimelimitAvailable' => $this->isSettimelimitAvailable(), | |||
] | |||
); | |||
} |
@@ -105,7 +105,9 @@ class EncryptionController extends Controller { | |||
*/ | |||
public function startMigration() { | |||
// allow as long execution on the web server as possible | |||
set_time_limit(0); | |||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) { | |||
@set_time_limit(0); | |||
} | |||
try { | |||