Hi, I’m new here. I follow this guide, https://www.youtube.com/watch?v=nXr_muYB6xI&t=639s to set up my nextcloud for myself. I even got myself Let’s Encrypt SSL and run it for a few days.
I wanted to add new configuration ‘session_lifetime’ => 60 * 60 * 24, to /config/config.php, and restarted my apache2
But i got this error when i try to access from the browser
Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the webserver log.
My /var/log/apache2/your-domain.com-error.log
[Fri Jun 29 13:03:55.901363 2018] [:error] [pid 3621] [client ***.***.**.**:34366] PHP Fatal error: Uncaught Error: Call to a member function getLogger() on null in /var/www/html/nextcloud/index.php:73\nStack trace:\n#0 {main}\n thrown in /var/www/html/nextcloud/index.php on line 73
my /nextcloud/index.php.
<?php
require_once __DIR__ . '/lib/versioncheck.php';
try {
require_once __DIR__ . '/lib/base.php';
OC::handleRequest();
} catch(\OC\ServiceUnavailableException $ex) {
\OC::$server->getLogger()->logException($ex, array('app' => 'index'));
//show the user a detailed error page
OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
OC_Template::printExceptionErrorPage($ex);
} catch (\OC\HintException $ex) {
OC_Response::setStatus(OC_Response::STATUS_SERVICE_UNAVAILABLE);
try {
OC_Template::printErrorPage($ex->getMessage(), $ex->getHint());
} catch (Exception $ex2) {
\OC::$server->getLogger()->logException($ex, array('app' => 'index'));
\OC::$server->getLogger()->logException($ex2, array('app' => 'index'));
//show the user a detailed error page
OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR);
OC_Template::printExceptionErrorPage($ex);
}
} catch (\OC\User\LoginException $ex) {
OC_Response::setStatus(OC_Response::STATUS_FORBIDDEN);
OC_Template::printErrorPage($ex->getMessage(), $ex->getMessage());
} catch (Exception $ex) {
\OC::$server->getLogger()->logException($ex, array('app' => 'index'));
//show the user a detailed error page
OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR);
OC_Template::printExceptionErrorPage($ex);
} catch (Error $ex) {
try {
/*line 73*/ \OC::$server->getLogger()->logException($ex, array('app' => 'index'));
} catch (Error $e) {
$claimedProtocol = strtoupper($_SERVER['SERVER_PROTOCOL']);
$validProtocols = [
'HTTP/1.0',
'HTTP/1.1',
'HTTP/2',
];
$protocol = 'HTTP/1.1';
if(in_array($claimedProtocol, $validProtocols, true)) {
$protocol = $claimedProtocol;
}
header($protocol . ' 500 Internal Server Error');
header('Content-Type: text/plain; charset=utf-8');
print("Internal Server Error\n\n");
print("The server encountered an internal error and was unable to complete your request.\n");
print("Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.\n");
print("More details can be found in the webserver log.\n");
throw $e;
}
OC_Response::setStatus(OC_Response::STATUS_INTERNAL_SERVER_ERROR);
OC_Template::printExceptionErrorPage($ex);
}
My config.php. I deleted the ‘session_lifetime’ that i added
<?php
$CONFIG = array (
'default_language' => 'jp'
'instanceid' => '*************',
'passwordsalt' => '*******************',
'secret' => '***********************',
'trusted_domains' =>
array (
),
'datadirectory' => '',
'overwrite.cli.url' => '',
'dbtype' => 'mysql',
'version' => '13.0.4.0',
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'mysql.utf8mb4' => true,
'dbuser' => '',
'dbpassword' => '',
'installed' => true,
);
Thanks for reading and any advice is most welcome
I have found the problem. I accidentally deleted a “,” in my config.php. Everything works fine after adding the “,” back.
Word of advice for beginners like me, “Always make a back-up file before you change anything.”