Skip to content

[6.x]: yii\base\InvalidConfigException: The directory does not exist when visiting the dashboard page with a plugin enabled. #18818

@vnali

Description

@vnali

What happened?

Description

I tried testing my plugin by requiring yii2-adapter.

When the plugin is enabled, I get the following error on the admin/dashboard page:

yii\base\InvalidConfigException
vendor/yiisoft/yii2/web/AssetManager.php:256
The directory does not exist:

The dump of $this at that line confirms basePath is false

yii\web\AssetManager {#3700 ▼
  -_events: []
  -_eventWildcards: []
  -_behaviors: null
  +bundles: []
  +basePath: false
  +baseUrl: "https://craft6.ddev.site/assets"
  +assetMap: []
  +linkAssets: false
  +fileMode: null
  +dirMode: 509
  +beforeCopy: null
  +afterCopy: null
  +forceCopy: false
  +appendTimestamp: false
  +hashCallback: null
  -_dummyBundles: []
  -_isBasePathPermissionChecked: null
  -_converter: null
  -_published: []
}

Steps to reproduce

  1. require the Craft counter plugin
    ddev composer require vnali/craft-counter symfony/process:^7 -W
    -i had a dependency problem without symfony/process:^7 -W
  2. enabling the plugin
  3. browsing to the dashboard page

Expected behavior

  • normally seeing the admin/dashboard page

Actual behavior

an error:
yii\base\InvalidConfigException
vendor/yiisoft/yii2/web/AssetManager.php:256
The directory does not exist:

yii\web\AssetManager->checkBasePathPermission()
vendor/yiisoft/yii2/web/AssetManager.php:256
yii\web\AssetManager->checkBasePathPermission()
vendor/yiisoft/yii2/web/AssetManager.php:576
yii\web\AssetManager->publishDirectory()
vendor/yiisoft/yii2/web/AssetManager.php:508
yii\web\AssetManager->publish()
vendor/yiisoft/yii2/web/AssetBundle.php:211
yii\web\AssetBundle->publish()
vendor/yiisoft/yii2/web/AssetManager.php:312
yii\web\AssetManager->loadBundle()
vendor/yiisoft/yii2/web/AssetManager.php:283
yii\web\AssetManager->getBundle()
vendor/yiisoft/yii2/web/View.php:331
yii\web\View->registerAssetBundle()
vendor/craftcms/yii2-adapter/legacy/web/View.php:2145
craft\web\View->registerAssetBundle()
vendor/twig/twig/src/Extension/CoreExtension.php:1909
Twig\Extension\CoreExtension::getAttribute()
vendor/craftcms/cms/src/Support/Template.php:113
CraftCms\Cms\Support\Template::attribute()
vendor/vnali/craft-counter/src/templates/_components/widgets/average-visitors/settings.twig:93
__TwigTemplate_abb532210a8c0327afcf329ccf5d3b41->doDisplay()
vendor/twig/twig/src/Template.php:402
Twig\Template->yield()
vendor/twig/twig/src/Template.php:358
Twig\Template->display()
vendor/twig/twig/src/Template.php:373
Twig\Template->render()
vendor/twig/twig/src/TemplateWrapper.php:51
Twig\TemplateWrapper->render()
vendor/twig/twig/src/Environment.php:333
Twig\Environment->render()
vendor/craftcms/cms/src/Twig/TemplateRenderer.php:86
CraftCms\Cms\Twig\TemplateRenderer->renderTemplate()
vendor/craftcms/yii2-adapter/legacy/web/View.php:412
craft\web\View->renderTemplate()
vendor/vnali/craft-counter/src/widgets/AverageVisitors.php:225
vnali\counter\widgets\AverageVisitors->getSettingsHtml()
vendor/craftcms/cms/src/Http/Controllers/Dashboard/DashboardController.php:41
CraftCms\Cms\Http\Controllers\Dashboard\DashboardController->{closure:{closure:CraftCms\Cms\Http\Controllers\Dashboard\DashboardController::index():38}:41}()
vendor/craftcms/cms/src/View/InputNamespace.php:128
CraftCms\Cms\View\InputNamespace->namespaceInputs()
vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:363
Illuminate\Support\Facades\Facade::__callStatic()
vendor/craftcms/cms/src/Http/Controllers/Dashboard/DashboardController.php:41
CraftCms\Cms\Http\Controllers\Dashboard\DashboardController->{closure:CraftCms\Cms\Http\Controllers\Dashboard\DashboardController::index():38}()
vendor/laravel/framework/src/Illuminate/Collections/Arr.php:869
Illuminate\Support\Arr::mapWithKeys()
vendor/laravel/framework/src/Illuminate/Collections/Collection.php:875
Illuminate\Support\Collection->mapWithKeys()
vendor/craftcms/cms/src/Http/Controllers/Dashboard/DashboardController.php:38
CraftCms\Cms\Http\Controllers\Dashboard\DashboardController->index()
vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:46
Illuminate\Routing\ControllerDispatcher->dispatch()
vendor/laravel/framework/src/Illuminate/Routing/Route.php:269
Illuminate\Routing\Route->runController()
vendor/laravel/framework/src/Illuminate/Routing/Route.php:215
Illuminate\Routing\Route->run()
vendor/laravel/framework/src/Illuminate/Routing/Router.php:822
Illuminate\Routing\Router->{closure:Illuminate\Routing\Router::runRouteWithinStack():821}()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
Illuminate\Pipeline\Pipeline->{closure:Illuminate\Pipeline\Pipeline::prepareDestination():178}()
vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authorize.php:59
Illuminate\Auth\Middleware\Authorize->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/HandleTemplateRequest.php:26
CraftCms\Cms\Http\Middleware\HandleTemplateRequest->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/EnforceLicenses.php:30
CraftCms\Cms\Http\Middleware\EnforceLicenses->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/inertiajs/inertia-laravel/src/Middleware.php:138
Inertia\Middleware->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/CheckRequirements.php:39
CraftCms\Cms\Http\Middleware\CheckRequirements->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/RequireCpRequest.php:21
CraftCms\Cms\Http\Middleware\RequireCpRequest->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/ShowBrokenImage.php:20
CraftCms\Cms\Http\Middleware\ShowBrokenImage->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/SetHeaders.php:49
CraftCms\Cms\Http\Middleware\SetHeaders->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/Enforce2fa.php:43
CraftCms\Cms\Http\Middleware\Enforce2fa->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/SendPoweredByHeader.php:20
CraftCms\Cms\Http\Middleware\SendPoweredByHeader->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/CheckForUpdates.php:48
CraftCms\Cms\Http\Middleware\CheckForUpdates->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/CheckSchemaVersion.php:26
CraftCms\Cms\Http\Middleware\CheckSchemaVersion->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/UpdateLocale.php:22
CraftCms\Cms\Http\Middleware\UpdateLocale->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/ResolveSite.php:34
CraftCms\Cms\Http\Middleware\ResolveSite->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/SetCraftGuard.php:21
CraftCms\Cms\Http\Middleware\SetCraftGuard->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/AddLogContext.php:37
CraftCms\Cms\Http\Middleware\AddLogContext->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/EnsureInstalled.php:26
CraftCms\Cms\Http\Middleware\EnsureInstalled->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php:52
Illuminate\Routing\Middleware\SubstituteBindings->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Auth/Middleware/Authenticate.php:63
Illuminate\Auth\Middleware\Authenticate->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestForgery.php:104
Illuminate\Foundation\Http\Middleware\PreventRequestForgery->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php:48
Illuminate\View\Middleware\ShareErrorsFromSession->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:120
Illuminate\Session\Middleware\StartSession->handleStatefulRequest()
vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php:63
Illuminate\Session\Middleware\StartSession->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php:36
Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php:74
Illuminate\Cookie\Middleware\EncryptCookies->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:137
Illuminate\Pipeline\Pipeline->then()
vendor/laravel/framework/src/Illuminate/Routing/Router.php:821
Illuminate\Routing\Router->runRouteWithinStack()
vendor/laravel/framework/src/Illuminate/Routing/Router.php:800
Illuminate\Routing\Router->runRoute()
vendor/laravel/framework/src/Illuminate/Routing/Router.php:764
Illuminate\Routing\Router->dispatchToRoute()
vendor/laravel/framework/src/Illuminate/Routing/Router.php:753
Illuminate\Routing\Router->dispatch()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:200
Illuminate\Foundation\Http\Kernel->{closure:Illuminate\Foundation\Http\Kernel::dispatchToRouter():197}()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:180
Illuminate\Pipeline\Pipeline->{closure:Illuminate\Pipeline\Pipeline::prepareDestination():178}()
vendor/inertiajs/inertia-laravel/src/Middleware/EnsureGetOnRedirect.php:19
Inertia\Middleware\EnsureGetOnRedirect->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ConvertEmptyStringsToNull.php:31
Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php:21
Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php:51
Illuminate\Foundation\Http\Middleware\TrimStrings->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePostSize.php:27
Illuminate\Http\Middleware\ValidatePostSize->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php:109
Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Http/Middleware/HandleCors.php:61
Illuminate\Http\Middleware\HandleCors->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Http/Middleware/TrustProxies.php:58
Illuminate\Http\Middleware\TrustProxies->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/InvokeDeferredCallbacks.php:22
Illuminate\Foundation\Http\Middleware\InvokeDeferredCallbacks->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Http/Middleware/ValidatePathEncoding.php:28
Illuminate\Http\Middleware\ValidatePathEncoding->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/HandleActionRequest.php:15
CraftCms\Cms\Http\Middleware\HandleActionRequest->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/HandleTokenRequest.php:31
CraftCms\Cms\Http\Middleware\HandleTokenRequest->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/craftcms/cms/src/Http/Middleware/ExtractNamespace.php:16
CraftCms\Cms\Http\Middleware\ExtractNamespace->handle()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:219
Illuminate\Pipeline\Pipeline->{closure:{closure:Illuminate\Pipeline\Pipeline::carry():194}:195}()
vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php:137
Illuminate\Pipeline\Pipeline->then()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:175
Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()
vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:144
Illuminate\Foundation\Http\Kernel->handle()
vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1220
Illuminate\Foundation\Application->handleRequest()

public/index.php:20

15
16// Bootstrap Laravel and handle the request...
17/** @var Application $app */
18$app = require_once __DIR__.'/../bootstrap/app.php';
19
20$app->handleRequest(Request::capture());
21

Craft CMS version

6.0.0-alpha.1

PHP version

No response

Operating system and version

No response

Database type and version

No response

Image driver and version

No response

Installed plugins and versions

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions