Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Ignition Laravel Package

spatie/ignition

Spatie Ignition is a beautiful, customizable error page for PHP apps, with a dark mode and simple registration. Laravel, Symfony, and Drupal integrations are available.

View on GitHub
Deep Wiki
Context7

Spatie Ignition is a beautiful, customizable error page for PHP applications, designed to make exceptions easier to inspect in the browser. Register it with a single line—Ignition::make()->register()—and errors render as a polished, detailed screen instead of a plain message.

It supports a dark mode and has official integrations for Laravel, Symfony, Drupal 10+, and OpenMage, making it easy to adopt across frameworks.

  • Rich, readable exception details
  • Light and dark themes
  • One-line registration
  • Customizable error page
  • Framework-specific integrations
Frequently asked questions about Ignition
How do I install spatie/ignition in a Laravel application?
Usually you should not install it directly. The README routes Laravel users to spatie/laravel-ignition, which wraps this rendering core and already ships as a dev dependency in the Laravel skeleton. Requiring spatie/ignition alongside it creates a second, independently versioned copy that can drift from the constraint the wrapper declares. Install the wrapper and treat this package as its internal implementation detail.
How do I register Ignition in a plain PHP project?
Include Composer's autoloader and call Ignition::make()->register() early in your bootstrap, before the code that might throw. That single call hooks the renderer in, with no service container contract, migration, or queue to configure. Optional fluent calls such as applicationPath() and setTheme() can be chained on the same builder.
Is it safe to show the Ignition error page in production?
Not by default. The page renders stack traces, source context, environment values, and request data, so exposing it is a disclosure incident rather than a cosmetic bug. Gate rendering behind shouldDisplayException() with an explicit environment check instead of relying on APP_DEBUG alone, and keep the package out of production dependencies.
How do I configure Ignition, for example the theme or application paths?
Configuration is fluent on the builder: applicationPath() trims absolute file paths from stack traces and setTheme() applies house colours. You can also call runningInProductionEnvironment() and sendToFlare() to control production behaviour. Everything stays inside the bootstrap registration call, so there are no config files or cache steps to manage.
Does spatie/ignition send error data to OpenAI or other third parties?
Only if you enable those features. The AI solution provider ships the error message, class, stack frame, and surrounding context to OpenAI, and Flare reporting sends exception reports to Spatie's commercial service. Both need privacy and DPA review before production, and you should settle on one authoritative monitoring vendor rather than running duplicate collectors.
How do I add custom solutions to exceptions with Ignition?
Implement the ProvidesSolution interface on your exception, or write a provider implementing HasSolutionsForThrowable and register it with addSolutionProviders(). Solutions appear as actionable hints beneath the error, which is useful for framework-specific fixes. FlareMiddleware can reshape reports if you also forward them to a monitoring service.
What is the difference between spatie/ignition and spatie/laravel-ignition?
spatie/ignition is the framework-agnostic rendering core, while spatie/laravel-ignition is the Laravel wrapper that wires it into the framework and is what the Laravel skeleton installs. Symfony and Drupal have their own wrappers, symfony-ignition-bundle and the Drupal Ignition module. Install the wrapper for your framework, not the core.
Can I use Ignition with Symfony, Drupal, or OpenMage?
Yes, through the maintained integrations. Symfony projects should use symfony-ignition-bundle, Drupal 10+ has an Ignition module, and OpenMage has its own module as well. Directly requiring spatie/ignition only makes sense for plain PHP or custom frameworks with no first-party wrapper.
Which PHP and Laravel versions does spatie/ignition support?
Support is declared per major in the package composer.json, but the version you actually run is dictated by the laravel-ignition constraint pinned in your application. Check that constraint before upgrading, because version skew between wrapper and core is a common cause of blank error pages. Track the major version rather than pinning it directly.
What happens if the Ignition error page itself fails?
This code runs precisely when the process is already unhealthy, so a renderer that throws, exhausts memory, or writes after headers are sent can mask the original exception. Test rendering with a deliberately thrown exception in each environment and keep a fallback logging channel. Also confirm that JSON, API, health check, and CLI requests bypass the pretty page.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel
draftsmaninc/draftsman
square-bit/laravel-volition
himito/laravel-mailman
htinlynn/genius-helper
maco-studios/hephaestus
elmogy/larafast