diff options
Diffstat (limited to '')
-rw-r--r-- | library/Icinga/Util/Environment.php | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/library/Icinga/Util/Environment.php b/library/Icinga/Util/Environment.php new file mode 100644 index 0000000..8d47b84 --- /dev/null +++ b/library/Icinga/Util/Environment.php @@ -0,0 +1,42 @@ +<?php +/* Icinga Web 2 | (c) 2018 Icinga Development Team | GPLv2+ */ + +namespace Icinga\Util; + +/** + * Helper for configuring the PHP environment + */ +class Environment +{ + /** + * Raise the PHP memory_limit + * + * Unless it is not already set to a higher limit + * + * @param string|int $minimum + */ + public static function raiseMemoryLimit($minimum = '512M') + { + if (is_string($minimum)) { + $minimum = Format::unpackShorthandBytes($minimum); + } + + if (Format::unpackShorthandBytes(ini_get('memory_limit')) < $minimum) { + ini_set('memory_limit', $minimum); + } + } + + /** + * Raise the PHP max_execution_time + * + * Unless it is not already configured to a higher value. + * + * @param int $minimum + */ + public static function raiseExecutionTime($minimum = 300) + { + if ((int) ini_get('max_execution_time') < $minimum) { + ini_set('max_execution_time', $minimum); + } + } +} |