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
- 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
- enabling the plugin
- 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
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:
The dump of $this at that line confirms basePath is false
Steps to reproduce
ddev composer require vnali/craft-counter symfony/process:^7 -W-i had a dependency problem without symfony/process:^7 -W
Expected behavior
Actual behavior
an error:
yii\base\InvalidConfigException
vendor/yiisoft/yii2/web/AssetManager.php:256
The directory does not exist:
public/index.php:20
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