- How do I install Laravel Meridian?
- Run composer require iso-doss/laravel-meridian, then php artisan meridian:install. The service provider is auto-discovered, and the install command publishes the configuration file and the Blade dashboard views, so there is no manual provider registration and no front-end build step. After that, review config/meridian.php for your environment and open the dashboard route to confirm it loads.
- Which PHP and Laravel versions does Laravel Meridian support?
- Laravel Meridian requires PHP 8.3 or newer and supports Laravel 12 and 13 only. These are hard requirements rather than soft recommendations. If your application is still on an older Laravel release, you will need to upgrade Laravel before the package can be installed.
- Do I need the pcntl and posix extensions to run Laravel Meridian in production?
- Yes, if you use the built-in supervisor (php artisan meridian), which is the write-side half of the package that actually manages and scales queue workers. The pcntl and posix extensions are a production prerequisite because the supervisor relies on them for process control and signalling. Minimal PHP images often ship without them, so verify your deployment image before you plan the rollout, and keep the supervisor configuration in scope for your production review.
- How is Laravel Meridian different from Laravel Horizon?
- Horizon manages Redis-backed queues, while Meridian is a Horizon-style dashboard and supervisor aimed at the database queue driver. v1.6.0 claims functional parity with Horizon, but that is feature parity, not operational parity: it does not add Redis or SQS support, and it does not carry Horizon's years of production hardening. If you already run Redis queues, Horizon remains the natural choice; if you run the database driver, Meridian fills a gap Horizon does not cover.
- How do I configure long-wait alerts in Laravel Meridian?
- Long-wait thresholds are defined per queue in the published configuration, with a wildcard entry for queues you have not listed. As of v1.6.0, a queue that is absent from the waits configuration falls back to the wildcard entry, and then to 60 seconds if the wildcard is not set. Before that change, unlisted queues were ignored, so teams that never configured waits can go from no alerts to alerts across every queue right after upgrading. Set explicit thresholds for each queue to avoid surprise pages.
- How do I prune old job history and silenced jobs in Laravel Meridian?
- Run php artisan meridian:prune, and schedule it in your console kernel or scheduler so it runs routinely. Since v1.6.0, silenced jobs are retained with a silenced status until pruning removes them, and they now count toward metrics. That makes a prune schedule a prerequisite rather than an optional nicety, particularly on high-throughput queues where retained rows grow the history table and add write amplification.
- What does meridian:listen do, and should I run it in production?
- meridian:listen is a local development listener that lets you work with Meridian without a Node or npm toolchain, which simplifies local onboarding and CI images. It also exposes a watch option for polled directories with a configurable --poll interval in seconds. It has no production footprint, so keep it out of production review and treat it as a developer-experience and ramp-up feature only.
- How do I upgrade Laravel Meridian to a new version safely?
- Upgrading is a composer update with no migrations, so the data model is stable across recent releases and upgrade risk on the schema side is low. The real risk is behavioural and configuration-level: republish and diff config/meridian.php and the published Blade views, review new keys such as memory_limit (default 64 MB) and the watch settings, and set explicit long-wait thresholds. Confirm your meridian:prune schedule before deploying, because retained silenced jobs will grow the history table, and upgrade-test against your current Laravel minor.
- Can I mock Laravel Meridian in my test suite?
- The package is designed to be test-friendly, with a facade-based, Laravel-native API and helpers that are straightforward to mock. That lets you substitute test doubles instead of running a real supervisor or writing to a live history table in feature tests. For end-to-end queue assertions, pair those mocks with Laravel's own queue fakes around job dispatch.
- Is Laravel Meridian actively maintained and production ready?
- Meridian has shipped six minor releases since v1.0.0 with a coherent feature narrative covering log scaling, memory limits, silenced jobs and a development listener, which is a good signal of an active, competent maintainer. What is not yet published is a formal support policy, a security disclosure process, deprecation or back-compatibility guarantees, and any statement about funding or bus factor. Treat it as an actively developed package whose surface is still moving: pin versions, review each release for behavioural changes, and test upgrades against every Laravel minor you support.