mirror of
https://github.com/nextcloud/server.git
synced 2026-05-21 09:35:30 -04:00
Merge pull request #51367 from nextcloud/backport/51361/stable27
[stable27] fix(base.php): Correct order for booting \OC\Server
This commit is contained in:
commit
e9d931a04a
1 changed files with 31 additions and 28 deletions
59
lib/base.php
59
lib/base.php
|
|
@ -490,6 +490,27 @@ class OC {
|
|||
* Try to set some values to the required Nextcloud default
|
||||
*/
|
||||
public static function setRequiredIniValues(): void {
|
||||
// Don't display errors and log them
|
||||
@ini_set('display_errors', '0');
|
||||
@ini_set('log_errors', '1');
|
||||
|
||||
// Try to configure php to enable big file uploads.
|
||||
// This doesn't work always depending on the webserver and php configuration.
|
||||
// Let's try to overwrite some defaults if they are smaller than 1 hour
|
||||
|
||||
if (intval(@ini_get('max_execution_time') ?: 0) < 3600) {
|
||||
@ini_set('max_execution_time', strval(3600));
|
||||
}
|
||||
|
||||
if (intval(@ini_get('max_input_time') ?: 0) < 3600) {
|
||||
@ini_set('max_input_time', strval(3600));
|
||||
}
|
||||
|
||||
// Try to set the maximum execution time to the largest time limit we have
|
||||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) {
|
||||
@set_time_limit(max(intval(@ini_get('max_execution_time')), intval(@ini_get('max_input_time'))));
|
||||
}
|
||||
|
||||
@ini_set('default_charset', 'UTF-8');
|
||||
@ini_set('gd.jpeg_ignore_warning', '1');
|
||||
}
|
||||
|
|
@ -586,11 +607,21 @@ class OC {
|
|||
}
|
||||
|
||||
public static function init(): void {
|
||||
// First handle PHP configuration and copy auth headers to the expected
|
||||
// $_SERVER variable before doing anything Server object related
|
||||
self::setRequiredIniValues();
|
||||
self::handleAuthHeaders();
|
||||
|
||||
// prevent any XML processing from loading external entities
|
||||
libxml_set_external_entity_loader(static function () {
|
||||
return null;
|
||||
});
|
||||
|
||||
// Set default timezone before the Server object is booted
|
||||
if (!date_default_timezone_set('UTC')) {
|
||||
throw new \RuntimeException('Could not set timezone to UTC');
|
||||
}
|
||||
|
||||
// calculate the root directories
|
||||
OC::$SERVERROOT = str_replace("\\", '/', substr(__DIR__, 0, -4));
|
||||
|
||||
|
|
@ -643,34 +674,6 @@ class OC {
|
|||
error_reporting(E_ALL);
|
||||
}
|
||||
|
||||
// Don't display errors and log them
|
||||
@ini_set('display_errors', '0');
|
||||
@ini_set('log_errors', '1');
|
||||
|
||||
if (!date_default_timezone_set('UTC')) {
|
||||
throw new \RuntimeException('Could not set timezone to UTC');
|
||||
}
|
||||
|
||||
|
||||
//try to configure php to enable big file uploads.
|
||||
//this doesn´t work always depending on the webserver and php configuration.
|
||||
//Let´s try to overwrite some defaults if they are smaller than 1 hour
|
||||
|
||||
if (intval(@ini_get('max_execution_time') ?: 0) < 3600) {
|
||||
@ini_set('max_execution_time', strval(3600));
|
||||
}
|
||||
|
||||
if (intval(@ini_get('max_input_time') ?: 0) < 3600) {
|
||||
@ini_set('max_input_time', strval(3600));
|
||||
}
|
||||
|
||||
//try to set the maximum execution time to the largest time limit we have
|
||||
if (strpos(@ini_get('disable_functions'), 'set_time_limit') === false) {
|
||||
@set_time_limit(max(intval(@ini_get('max_execution_time')), intval(@ini_get('max_input_time'))));
|
||||
}
|
||||
|
||||
self::setRequiredIniValues();
|
||||
self::handleAuthHeaders();
|
||||
$systemConfig = Server::get(\OC\SystemConfig::class);
|
||||
self::registerAutoloaderCache($systemConfig);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue