]> git.mxchange.org Git - friendica.git/commitdiff
Introduce settings for overriding php.ini values
authorPhilipp <admin@philipp.info>
Thu, 4 May 2023 15:48:13 +0000 (17:48 +0200)
committerPhilipp <admin@philipp.info>
Thu, 4 May 2023 15:48:13 +0000 (17:48 +0200)
src/App.php
static/defaults.config.php

index 0d860638b1ecbd18789423e68be03372c7939e3a..3d650abc1ab4615da04b2002165b47cc8034ad50 100644 (file)
@@ -335,7 +335,14 @@ class App
         */
        protected function load(DbaDefinition $dbaDefinition, ViewDefinition $viewDefinition)
        {
-               set_time_limit(0);
+               if ($this->config->get('system', 'ini_max_execution_time') !== false) {
+                       set_time_limit((int)$this->config->get('system', 'ini_max_execution_time'));
+               }
+
+               // This has to be quite large to deal with embedded private photos
+               if ($this->config->get('system', 'ini_pcre_backtrack_limit') !== false) {
+                       ini_set('pcre.backtrack_limit', (int)$this->config->get('system', 'ini_pcre_backtrack_limit'));
+               }
 
                // Normally this constant is defined - but not if "pcntl" isn't installed
                if (!defined('SIGTERM')) {
@@ -345,9 +352,6 @@ class App
                // Ensure that all "strtotime" operations do run timezone independent
                date_default_timezone_set('UTC');
 
-               // This has to be quite large to deal with embedded private photos
-               ini_set('pcre.backtrack_limit', 500000);
-
                set_include_path(
                        get_include_path() . PATH_SEPARATOR
                        . $this->getBasePath() . DIRECTORY_SEPARATOR . 'include' . PATH_SEPARATOR
index 7e699fad714ba3f6a06368bd3c6fcd6fc0156ce3..2c2175b005c9f235553cc7a57110429b301a0740 100644 (file)
@@ -341,6 +341,14 @@ return [
                // Resolve IPV4 addresses only. Don't resolve to IPV6.
                'ipv4_resolve' => false,
 
+               // ini_max_execution_time (False|Integer)
+               // Set the number of seconds a script is allowed to run. Default unlimited for Friendica, False means disabled
+               'ini_max_execution_time' => 0,
+
+               // ini_pcre_backtrack_limit (False|Integer)
+               // This has to be quite large to deal with embedded private photos. False means disabled
+               'ini_pcre_backtrack_limit' => 500000,
+
                // invitation_only (Boolean)
                // If set true registration is only possible after a current member of the node has sent an invitation.
                'invitation_only' => false,