I did everything as usual. I unpacked the archive, set up the domain, and uploaded it to the desired folder. When entering the domain, it is redirected to step 1 (/install/1), where the following error occurs
# Slim Application Error
The application could not run because of the following error:
## Details
**Type:** Error
**Code:** 0
**Message:** Call to a member function getContainer() on string
**File:** C:\wamp\www\xibo\lib\Middleware\Theme.php
**Line:** 66
## Trace
#0 C:\wamp\www\xibo\vendor\slim\slim\Slim\MiddlewareDispatcher.php(147): Xibo\Middleware\Theme->process(Object(Slim\Http\ServerRequest), Object(Slim\Routing\RouteRunner)) #1 C:\wamp\www\xibo\vendor\slim\twig-view\src\TwigMiddleware.php(125): class@anonymous->handle(Object(Slim\Http\ServerRequest)) #2 C:\wamp\www\xibo\vendor\slim\slim\Slim\MiddlewareDispatcher.php(147): Slim\Views\TwigMiddleware->process(Object(Slim\Http\ServerRequest), Object(class@anonymous)) #3 C:\wamp\www\xibo\vendor\slim\slim\Slim\Middleware\RoutingMiddleware.php(59): class@anonymous->handle(Object(Slim\Http\ServerRequest)) #4 C:\wamp\www\xibo\vendor\slim\slim\Slim\MiddlewareDispatcher.php(147): Slim\Middleware\RoutingMiddleware->process(Object(Slim\Http\ServerRequest), Object(class@anonymous)) #5 C:\wamp\www\xibo\vendor\slim\slim\Slim\Middleware\ErrorMiddleware.php(107): class@anonymous->handle(Object(Slim\Http\ServerRequest)) #6 C:\wamp\www\xibo\vendor\slim\slim\Slim\MiddlewareDispatcher.php(147): Slim\Middleware\ErrorMiddleware->process(Object(Slim\Http\ServerRequest), Object(class@anonymous)) #7 C:\wamp\www\xibo\vendor\slim\slim\Slim\MiddlewareDispatcher.php(81): class@anonymous->handle(Object(Slim\Http\ServerRequest)) #8 C:\wamp\www\xibo\vendor\slim\slim\Slim\App.php(215): Slim\MiddlewareDispatcher->handle(Object(Slim\Http\ServerRequest)) #9 C:\wamp\www\xibo\vendor\slim\slim\Slim\App.php(199): Slim\App->handle(Object(Slim\Http\ServerRequest)) #10 C:\wamp\www\xibo\web\install\index.php(95): Slim\App->run() #11 {main}
\lib\Middleware\Theme.php
$app is string ‘default’ on line 66 and does not contain functions
I tried another way - from sources. launched composer install, got:
Package emojione/emojione is abandoned, you should avoid using it. No replacement was suggested.
Package jeremeamia/superclosure is abandoned, you should avoid using it. Use opis/closure instead.
Package mtdowling/cron-expression is abandoned, you should avoid using it. Use dragonmantank/cron-expression instead.
Package zendframework/zendxml is abandoned, you should avoid using it. Use laminas/laminas-xml instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Package phpunit/phpunit-mock-objects is abandoned, you should avoid using it. No replacement was suggested.
Then I tried to enter the install again. Errors got similar to the case above
Perhaps the following will help you figure it out.
The controller \ lib \ Controller \ Library.php is responsible for downloading.
On line 1542 I write “var_dump ($ response); exit;”
I get an object on the entrance:
I am fairly sure that the problem downloading files is because you have Sendfile set to Apache and have not actually configured Apache for sendfile mode. Changing the setting directly in the database will have no effect until the cache expires.
The setting is called “File download mode” and is on the General tab.
I installed two versions on the same server on different domains - 3.0.0 and 2.2.2.
The bases were initially the same.
On the old version there was an Apache setting and everything works there
(used xsendfile_module,
LIBRARY_LOCATION = “…/library/” … when using the full path, an empty file was also uploaded).
In version 3, I changed the parameter through the settings, it did not help.
And I guess problems might be on path LIBRARY_LOCATION.
It is suitable for generating headers, but does not receive data for uploading to a stream.
I’m sorry, I am not an expert in Windows or wampserver so I am at the limit of my knowledge here. If sendfile is off, then Xibo just serves the file path as a stream:
Where the library path is the setting + the file name on disk. I do not think a relative path will work properly.
If you put your server into Test mode, you could try adding some logging to ModuleWidget.php where the download() happens, particularly you could log $libraryPath to see whether it is as you expect or not.