Skip to content

stache:warm on new Laravel Forge - Failed to open stream: Is a directory #12913

@stuartcusackie

Description

@stuartcusackie

Bug description

I've been seeing this error on a couple of Statamic sites ever since the new Laravel Forge was released. I suspect it is something to do with their "Zero-downtime" deployments.

When $FORGE_PHP artisan statamic:stache:warm is part of my deploy script the deployment fails.
I can remove this line to make the deployment work, but then when I SSH to the server and manually run php please stache:warm I see the same error.

How to reproduce

No idea.

Logs

[2025-10-29 13:13:11] production.ERROR: file_put_contents(/home/forge/mysite.ie/releases/58357388/storage/framework/cache/data/stache/items/nav-trees/home/): Failed to open stream: Is a directory {"exception":"[object] (ErrorException(code: 0): file_put_contents(/home/forge/mysite.ie/releases/58357388/storage/framework/cache/data/stache/items/nav-trees/home/): Failed to open stream: Is a directory at /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php:204)
[stacktrace]
#0 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Foundation/Bootstrap/HandleExceptions.php(258): Illuminate\\Foundation\\Bootstrap\\HandleExceptions->handleError()
#1 [internal function]: Illuminate\\Foundation\\Bootstrap\\HandleExceptions->{closure:Illuminate\\Foundation\\Bootstrap\\HandleExceptions::forwardsTo():257}()
#2 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Filesystem/Filesystem.php(204): file_put_contents()
#3 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php(83): Illuminate\\Filesystem\\Filesystem->put()
#4 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Cache/FileStore.php(207): Illuminate\\Cache\\FileStore->put()
#5 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Cache/Repository.php(395): Illuminate\\Cache\\FileStore->forever()
#6 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Stache/Stores/BasicStore.php(89): Illuminate\\Cache\\Repository->forever()
#7 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Stache/Stores/BasicStore.php(36): Statamic\\Stache\\Stores\\BasicStore->cacheItem()
#8 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Stache/Stores/Store.php(74): Statamic\\Stache\\Stores\\BasicStore->getItem()
#9 [internal function]: Statamic\\Stache\\Stores\\Store->{closure:Statamic\\Stache\\Stores\\Store::getItemsFromFiles():73}()
#10 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Collections/Arr.php(609): array_map()
#11 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Collections/Collection.php(799): Illuminate\\Support\\Arr::map()
#12 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Stache/Stores/Store.php(73): Illuminate\\Support\\Collection->map()
#13 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Stache/Indexes/Value.php(11): Statamic\\Stache\\Stores\\Store->getItemsFromFiles()
#14 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Stache/Indexes/Index.php(102): Statamic\\Stache\\Indexes\\Value->getItems()
#15 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php(65): Statamic\\Stache\\Indexes\\Index->update()
#16 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(261): Illuminate\\Support\\HigherOrderCollectionProxy->{closure:Illuminate\\Support\\HigherOrderCollectionProxy::__call():64}()
#17 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php(64): Illuminate\\Support\\Collection->each()
#18 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Stache/Stores/Store.php(401): Illuminate\\Support\\HigherOrderCollectionProxy->__call()
#19 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php(65): Statamic\\Stache\\Stores\\Store->warm()
#20 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Collections/Traits/EnumeratesValues.php(261): Illuminate\\Support\\HigherOrderCollectionProxy->{closure:Illuminate\\Support\\HigherOrderCollectionProxy::__call():64}()
#21 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Collections/HigherOrderCollectionProxy.php(64): Illuminate\\Support\\Collection->each()
#22 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Stache/Stache.php(121): Illuminate\\Support\\HigherOrderCollectionProxy->__call()
#23 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php(361): Statamic\\Stache\\Stache->warm()
#24 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Console/Commands/StacheWarm.php(20): Illuminate\\Support\\Facades\\Facade::__callStatic()
#25 /home/forge/mysite.ie/releases/58357388/vendor/laravel/prompts/src/Spinner.php(73): Statamic\\Console\\Commands\\StacheWarm->{closure:Statamic\\Console\\Commands\\StacheWarm::handle():20}()
#26 /home/forge/mysite.ie/releases/58357388/vendor/laravel/prompts/src/helpers.php(214): Laravel\\Prompts\\Spinner->spin()
#27 /home/forge/mysite.ie/releases/58357388/vendor/statamic/cms/src/Console/Commands/StacheWarm.php(20): Laravel\\Prompts\\spin()
#28 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(36): Statamic\\Console\\Commands\\StacheWarm->handle()
#29 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Container/Util.php(43): Illuminate\\Container\\BoundMethod::{closure:Illuminate\\Container\\BoundMethod::call():35}()
#30 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(95): Illuminate\\Container\\Util::unwrapIfClosure()
#31 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php(35): Illuminate\\Container\\BoundMethod::callBoundMethod()
#32 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Container/Container.php(696): Illuminate\\Container\\BoundMethod::call()
#33 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Console/Command.php(213): Illuminate\\Container\\Container->call()
#34 /home/forge/mysite.ie/releases/58357388/vendor/symfony/console/Command/Command.php(318): Illuminate\\Console\\Command->execute()
#35 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Console/Command.php(182): Symfony\\Component\\Console\\Command\\Command->run()
#36 /home/forge/mysite.ie/releases/58357388/vendor/symfony/console/Application.php(1073): Illuminate\\Console\\Command->run()
#37 /home/forge/mysite.ie/releases/58357388/vendor/symfony/console/Application.php(356): Symfony\\Component\\Console\\Application->doRunCommand()
#38 /home/forge/mysite.ie/releases/58357388/vendor/symfony/console/Application.php(195): Symfony\\Component\\Console\\Application->doRun()
#39 /home/forge/mysite.ie/releases/58357388/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(198): Symfony\\Component\\Console\\Application->run()
#40 /home/forge/mysite.ie/releases/58357388/please(35): Illuminate\\Foundation\\Console\\Kernel->handle()
#41 {main}
"}

Environment

Environment
Laravel Version: 11.46.1
PHP Version: 8.4.14
Composer Version: 2.8.12
Environment: production
Debug Mode: ENABLED
URL: mysite.ie
Maintenance Mode: OFF
Timezone: Europe/Dublin
Locale: en

Cache
Config: CACHED
Events: CACHED
Routes: CACHED
Views: CACHED

Drivers
Broadcasting: log
Cache: file
Database: mysql
Logs: stack / single, slack
Mail: smtp
Queue: redis
Session: file

Livewire
Livewire: v3.6.4

Statamic
Addons: 9
Sites: 1
Stache Watcher: Disabled (auto)
Static Caching: full
Version: 5.67.0 PRO

Statamic Addons
jacksleight/statamic-bard-texstyle: 3.6.0
jonassiewertsen/statamic-live-search: 2.2.0
marcorieser/statamic-livewire: 3.9.0
ndx/statamic-bard-color-picker: 2.1.0
rias/statamic-redirect: 3.12.0
spatie/statamic-responsive-images: 5.2.2
statamic/seo-pro: 6.11.2
stillat/relationships: 2.2.1
stuartcusackie/statamic-cache-requester: 1.3.0

Installation

Existing Laravel app

Additional details

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions