Laravel Doctor
Laravel 10/11 β€’ PHP 8.1+ β€’ Zero dependencies

Laravel Doctor

Instantly diagnose config, performance & production safety issues.

php artisan doctor:check
Laravel 10/11 PHP 8.1+ No external services

Why it exists

Production misconfigurations are easy to miss but costly. Laravel Doctor catches them before they hit users.

Catch issues early

Debug mode on in prod, file-based cache, sync queueβ€”Laravel Doctor surfaces them before they impact users.

Runs locally

No external services, API calls, or network. Perfect for CI pipelines and pre-deploy checks.

Actionable output

Every finding includes clear recommendations so you know exactly what to fix.

When to use it

Laravel Doctor fits seamlessly into your workflow.

πŸš€

Pre-deploy checks

Run before every deploy to catch config mistakes.

πŸ”§

CI/CD pipelines

Add to GitHub Actions or any CI for automated checks.

πŸ‘€

Local development

Verify your setup matches production expectations.

πŸ“‹

Onboarding audits

Quickly audit a new project or codebase.

Advantages

Why teams choose Laravel Doctor.

βœ“

Zero external dependencies

No API keys, no cloud services. Everything runs locally.

βœ“

Extensible architecture

Add custom checks that fit your team's standards.

βœ“

Fast & lightweight

Completes in milliseconds. No noticeable overhead.

βœ“

Configurable

Enable, disable, or skip checks per environment.

What it checks

14 built-in checks covering config, performance, and safety.

●APP_DEBUG in production
●APP_ENV mismatch
●Config cache
●Route cache
●View cache
●Queue sync in production
●Queue worker detection
●Cache driver in production
●Session driver in production
●Storage symlink
●File permissions
●Composer autoload optimization
●Required PHP extensions
●Log channel config

Example output

See what Laravel Doctor reports at a glance.

Laravel Doctor CLI output

Installation

composer require codevioso/laravel-doctor

Usage

php artisan doctor:check

Options: --only=CheckName, --skip=CheckName, --demo

Extensibility

Register custom checks with the Doctor service.

use Codevioso\LaravelDoctor\Doctor;

public function boot()
{
    app(Doctor::class)->registerCheck(App\Doctor\MyCustomCheck::class);
}