From 4d14bab42ebfb31d3ea5b8596095c976f458284c Mon Sep 17 00:00:00 2001 From: Mathias Date: Sun, 23 Apr 2023 09:27:44 +0200 Subject: [PATCH] Config value to allow to extend .user.ini on update When running nextcloud with a web hoster it might be necessary to extend .user.ini after each update (e.g. adding memory_limit). To automate this step, an additional config entry may be provided in config.php that specifies the lines to be added to .user.ini. If the config option 'user_ini_additional_lines' exists, the provided value (string or array of strings) will be added to .user.ini. Signed-off-by: Mathias Koehrer --- index.php | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/index.php b/index.php index 0251c003..11a6db92 100644 --- a/index.php +++ b/index.php @@ -1023,6 +1023,19 @@ public function finalize() { throw new \Exception('Could not rmdir .step'); } + /* Check if there is the need to extend .user.ini */ + $user_ini_additional_lines = $this->getConfigOption('user_ini_additional_lines'); + if ($user_ini_additional_lines) { + $this->silentLog('[info] Extend .user.ini'); + if (is_array($user_ini_additional_lines)) { + $user_ini_additional_lines = implode(PHP_EOL, $user_ini_additional_lines); + } + $result = file_put_contents($this->baseDir . '/../.user.ini', PHP_EOL . '; Additional settings from config.php:' . PHP_EOL . $user_ini_additional_lines . PHP_EOL, FILE_APPEND | FILE_LOCK); + if ($result === false) { + throw new \Exception('Could not append to .user.ini'); + } + } + if (function_exists('opcache_reset')) { $this->silentLog('[info] call opcache_reset()'); opcache_reset();