SilverStripe 4.5. Where is "Add New" page button in the admin panel?

Hello!

Silverstripe Version: 4.5
PHP 7.3

Question:
In the admin panel of SilverStripe 4.5 there is the following problem, see PHP logs below:
PHP Warning: array_keys() expects parameter 1 to be array, string given in /var/www/mydomain.com/public_html/mydomain/vendor/silverstripe/cms/code/Controllers/CMSMain.php on line 926
PHP Warning: array_map(): Expected parameter 2 to be an array, null given in /var/www/mydomain.com/public_html/mydomain/vendor/silverstripe/cms/code/Controllers/CMSMain.php on line 926
PHP Warning: array_combine() expects parameter 1 to be array, null given in /var/www/mydomain.com/public_html/mydomain/vendor/silverstripe/cms/code/Controllers/CMSMain.php on line 924
PHP Warning: Illegal string offset ‘FilterClass’ in /var/www/mydomain.com/public_html/mydomain/vendor/silverstripe/cms/code/Controllers/CMSMain.php on line 1633

And in the admin panel there is no SiteTree of the pages. There is only a list of pages, not Tree.
Also in the ‘admin’ panel os SS there is no button for ‘Add New’ page.

Does anyone know how to solve this problem? I think this is definitely a bug.


There is no button for creating a new page.

What’s behind the search box if you click the x?

When I click the ‘x’ then nothing happens. The search field and the whole UI remains exactly the same

This is what I got in ‘dev’ mode.
SilverStripe 4.5 (fresh install)
PHP 7.3.14
CentOS 7
nginx + php-fpm

Trace
> array_keys(/admin/pages/) 
> CMSMain.php:926
> SilverStripe\CMS\Controllers\CMSMain->getSearchFieldSchema() 
> ViewableData.php:133
> SilverStripe\View\ViewableData->__get(SearchFieldSchema) 
> ViewableData.php:487
> SilverStripe\View\ViewableData->obj(SearchFieldSchema, , 1) 
> ViewableData.php:547
> SilverStripe\View\ViewableData->XML_val(SearchFieldSchema, , 1) 
> SSViewer_Scope.php:323
> SilverStripe\View\SSViewer_Scope->__call(XML_val, Array) 
> SSViewer_DataPresenter.php:309
> SilverStripe\View\SSViewer_DataPresenter->__call(XML_val, Array) 
> .cachevendor.silverstripe.cms.templates.SilverStripe.CMS.Controllers.Includes.CMSPagesController_Tools.ss:12
> include(/tmp/silverstripe-cache-php7.3.15-var-www-mydomain.com-public_html-mydomain/admin/.cachevendor.silverstripe.cms.templates.SilverStripe.CMS.Controllers.Includes.CMSPagesController_Tools.ss) 
> SSViewer.php:602
> SilverStripe\View\SSViewer->includeGeneratedTemplate(/tmp/silverstripe-cache-php7.3.15-var-www-mydomain.com-public_html-mydomain/admin/.cachevendor.silverstripe.cms.templates.SilverStripe.CMS.Controllers.Includes.CMSPagesController_Tools.ss, SilverStripe\CMS\Controllers\CMSPagesController, , Array, ) 
> SSViewer.php:674
> SilverStripe\View\SSViewer->process(SilverStripe\CMS\Controllers\CMSPagesController) 
> LeftAndMain.php:1512
> SilverStripe\Admin\LeftAndMain->Tools() 
> call_user_func_array(Array, Array) 
> ViewableData.php:485
> SilverStripe\View\ViewableData->obj(Tools, , 1) 
> ViewableData.php:547
> SilverStripe\View\ViewableData->XML_val(Tools, , 1) 
> SSViewer_Scope.php:323
> SilverStripe\View\SSViewer_Scope->__call(XML_val, Array) 
> SSViewer_DataPresenter.php:309
> SilverStripe\View\SSViewer_DataPresenter->__call(XML_val, Array) 
> .cachevendor.silverstripe.cms.templates.SilverStripe.CMS.Controllers.Includes.CMSPagesController_Content.ss:42
> include(/tmp/silverstripe-cache-php7.3.15-var-www-mydomain.com-public_html-mydomain/admin/.cachevendor.silverstripe.cms.templates.SilverStripe.CMS.Controllers.Includes.CMSPagesController_Content.ss)
> SSViewer.php:602
> SilverStripe\View\SSViewer->includeGeneratedTemplate(/tmp/silverstripe-cache-php7.3.15-var-www-mydomain.com-public_html-mydomain/admin/.cachevendor.silverstripe.cms.templates.SilverStripe.CMS.Controllers.Includes.CMSPagesController_Content.ss, SilverStripe\CMS\Controllers\CMSPagesController, , Array, ) 
> SSViewer.php:674
> SilverStripe\View\SSViewer->process(SilverStripe\CMS\Controllers\CMSPagesController, ) 
> ViewableData.php:401
> SilverStripe\View\ViewableData->renderWith(SilverStripe\View\SSViewer) 
> LeftAndMain.php:1129
> SilverStripe\Admin\LeftAndMain->Content() 
> call_user_func_array(Array, Array) 
> ViewableData.php:485
> SilverStripe\View\ViewableData->obj(Content, , 1) 
> ViewableData.php:547
> SilverStripe\View\ViewableData->XML_val(Content, , 1) 
> SSViewer_Scope.php:323
> SilverStripe\View\SSViewer_Scope->__call(XML_val, Array) 
> SSViewer_DataPresenter.php:309
> SilverStripe\View\SSViewer_DataPresenter->__call(XML_val, Array) 
> .cachevendor.silverstripe.admin.templates.SilverStripe.Admin.LeftAndMain.ss:41
> include(/tmp/silverstripe-cache-php7.3.15-var-www-mydomain.com-public_html-mydomain/admin/.cachevendor.silverstripe.admin.templates.SilverStripe.Admin.LeftAndMain.ss) 
> SSViewer.php:602
> SilverStripe\View\SSViewer->includeGeneratedTemplate(/tmp/silverstripe-cache-php7.3.15-var-www-mydomain.com-public_html-mydomain/admin/.cachevendor.silverstripe.admin.templates.SilverStripe.Admin.LeftAndMain.ss, SilverStripe\CMS\Controllers\CMSPagesController, , Array, ) 
> SSViewer.php:674
> SilverStripe\View\SSViewer->process(SilverStripe\CMS\Controllers\CMSPagesController, ) 
> ViewableData.php:401
> SilverStripe\View\ViewableData->renderWith(SilverStripe\View\SSViewer) 
> LeftAndMain.php:985
> SilverStripe\Admin\LeftAndMain->SilverStripe\Admin\{closure}() 
> call_user_func(Closure) 
> PjaxResponseNegotiator.php:92
> SilverStripe\Control\PjaxResponseNegotiator->respond(SilverStripe\Control\HTTPRequest) 
> LeftAndMain.php:828
> SilverStripe\Admin\LeftAndMain->index(SilverStripe\Control\HTTPRequest) 
> CMSMain.php:213
> SilverStripe\CMS\Controllers\CMSMain->index(SilverStripe\Control\HTTPRequest) 
> RequestHandler.php:323
> SilverStripe\Control\RequestHandler->handleAction(SilverStripe\Control\HTTPRequest, index) 
> Controller.php:284
> SilverStripe\Control\Controller->handleAction(SilverStripe\Control\HTTPRequest, index) 
> RequestHandler.php:202
> SilverStripe\Control\RequestHandler->handleRequest(SilverStripe\Control\HTTPRequest) 
> Controller.php:212
> SilverStripe\Control\Controller->handleRequest(SilverStripe\Control\HTTPRequest) 
> LeftAndMain.php:757
> SilverStripe\Admin\LeftAndMain->handleRequest(SilverStripe\Control\HTTPRequest) 
> AdminRootController.php:123
> SilverStripe\Admin\AdminRootController->handleRequest(SilverStripe\Control\HTTPRequest) 
> Director.php:360
> SilverStripe\Control\Director->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) 
> DetectLocaleMiddleware.php:115
> TractorCow\Fluent\Middleware\DetectLocaleMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> InitStateMiddleware.php:54
> TractorCow\Fluent\Middleware\InitStateMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> VersionedHTTPMiddleware.php:41
> SilverStripe\Versioned\VersionedHTTPMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> ConfirmationMiddleware.php:254
> SilverStripe\Control\Middleware\ConfirmationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> ConfirmationMiddleware.php:254
> SilverStripe\Control\Middleware\ConfirmationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> PasswordExpirationMiddleware.php:84
> SilverStripe\Security\PasswordExpirationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> BasicAuthMiddleware.php:68
> SilverStripe\Security\BasicAuthMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> AuthenticationMiddleware.php:61
> SilverStripe\Security\AuthenticationMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> ExecMetricMiddleware.php:20
> SilverStripe\Control\Middleware\ExecMetricMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> CanonicalURLMiddleware.php:190
> SilverStripe\Control\Middleware\CanonicalURLMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> HTTPCacheControlMiddleware.php:42
> SilverStripe\Control\Middleware\HTTPCacheControlMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> ChangeDetectionMiddleware.php:28
> SilverStripe\Control\Middleware\ChangeDetectionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> FlushMiddleware.php:27
> SilverStripe\Control\Middleware\FlushMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> RequestProcessor.php:66
> SilverStripe\Control\RequestProcessor->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> SessionMiddleware.php:20
> SilverStripe\Control\Middleware\SessionMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> AllowedHostsMiddleware.php:60
> SilverStripe\Control\Middleware\AllowedHostsMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> TrustedProxyMiddleware.php:176
> SilverStripe\Control\Middleware\TrustedProxyMiddleware->process(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPMiddlewareAware.php:62
> SilverStripe\Control\Director->SilverStripe\Control\Middleware\{closure}(SilverStripe\Control\HTTPRequest) 
> HTTPMiddlewareAware.php:65
> SilverStripe\Control\Director->callMiddleware(SilverStripe\Control\HTTPRequest, Closure) 
> Director.php:369
> SilverStripe\Control\Director->handleRequest(SilverStripe\Control\HTTPRequest) 
> HTTPApplication.php:117
> SilverStripe\Control\HTTPApplication::SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) 
> call_user_func(Closure, SilverStripe\Control\HTTPRequest) 
> HTTPApplication.php:136
> SilverStripe\Control\HTTPApplication->SilverStripe\Control\{closure}(SilverStripe\Control\HTTPRequest) 
> HTTPMiddlewareAware.php:65
> SilverStripe\Control\HTTPApplication->callMiddleware(SilverStripe\Control\HTTPRequest, Closure) 
> HTTPApplication.php:137
> SilverStripe\Control\HTTPApplication->execute(SilverStripe\Control\HTTPRequest, Closure, ) 
> HTTPApplication.php:116
> SilverStripe\Control\HTTPApplication->handle(SilverStripe\Control\HTTPRequest) 
> index.php:24

Experiencing the exact same problem, but on a different environment (DDEV-Local).
All other modules seem fine, just pages that throws the error.

Can you show your composer.json file? Maybe a Fluent issue?

I SOLVED the problem!
The source of the problem was in a wrong server config.

Here is an example of the correct one (simple but correct enough): silverstripe-4-nginx-docker/nginx-site at master · zzdjk6/silverstripe-4-nginx-docker · GitHub