Hello,
Today i’ve realized that i have outdated version of LibreNMS and in validate.php output i found “Your install is over 24 hours out of date” so I tried manual update using commands:
su - librenms
git pull
./daily.sh
But during update some errors occured, I saved the console output:
$ ./daily.sh
PHP Fatal error: Declaration of App\Exceptions\Handler::render($request, Throwable $exception) must be compatible with Illuminate\Foundation\Exceptions\Handler::render($request, Exception $e) in /opt/librenms/app/Exceptions/Handler.php on line 9
PHP Fatal error: Uncaught ReflectionException: Class App\Exceptions\Handler does not exist in /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php:779
Stack trace:
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(779): ReflectionClass->__construct(‘App\Exceptions\…’)
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(658): Illuminate\Container\Container->build(‘App\Exceptions\…’)
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(609): Illuminate\Container\Container->resolve(‘App\Exceptions\…’, Array)
#3 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(759): Illuminate\Container\Container->make(‘App\Exceptions\…’, Array)
#4 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(264): Illuminate\Foundation\Application->make(‘App\Exceptions\…’, Array)
#5 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(776): Il in /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 779
Python 3 dependencies missing, switched to php71-python2 branch. OK
Updating to latest codebase OK
Updating Composer packages OK
Updating SQL-Schema OK
Updating submodules OK
Cleaning up DB OK
Fetching notifications OK
Caching PeeringDB data OK
After that, trying to get to login page results in a blank page, now validate.php output shows also :
$ ./validate.php
In PackageManifest.php line 122:
Undefined index: name
====================================
Component | Version |
---|---|
LibreNMS | 1.63-57-g0040f38d1 |
DB Schema | Not Connected (0) |
PHP | 7.2.24-0ubuntu0.18.04.7 |
Python | 3.8.5 |
MySQL | ? |
RRDTool | 1.7.2 |
SNMP | NET-SNMP 5.8 |
====================================
[OK] Composer Version: 2.0.7
[OK] Dependencies up-to-date.
$
After machine reboot, I also have this when trying to get to login page:
/ / |-------------------------------------------------------------------------- | Register The Auto Loader |-------------------------------------------------------------------------- | | Composer provides a convenient, automatically generated class loader for | our application. We just need to utilize it! We’ll simply require it | into the script here so that we don’t have to worry about manual | loading any of our classes later on. It feels great to relax. | / require DIR.’/…/bootstrap/autoload.php’; / |-------------------------------------------------------------------------- | Turn On The Lights |-------------------------------------------------------------------------- | | We need to illuminate PHP development, so let us turn on the lights. | This bootstraps the framework and gets it ready for use, then it | will load up this application so that we can run it and send | the responses back to the browser and delight our users. | / $app = require_once DIR.’/…/bootstrap/app.php’; / |-------------------------------------------------------------------------- | Run The Application |-------------------------------------------------------------------------- | | Once we have the application, we can handle the incoming request | through the kernel, and send the associated response back to | the client’s browser allowing them to enjoy the creative | and wonderful application we have prepared for them. | */ $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class); $response = $kernel->handle( $request = Illuminate\Http\Request::capture() ); $response->send(); $kernel->terminate($request, $response);
Is any chance to recover from that errors or just reinstallation?
Cheers,
Szymon