PHPackages                             codevioso/laravel-doctor - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. codevioso/laravel-doctor

ActiveLibrary[CLI &amp; Console](/categories/cli)

codevioso/laravel-doctor
========================

Lightweight diagnostic tool for Laravel apps

v0.1.1(3mo ago)01MITPHPPHP ^8.1CI passing

Since Feb 11Pushed 3mo agoCompare

[ Source](https://github.com/rdhafiz/laravel-doctor)[ Packagist](https://packagist.org/packages/codevioso/laravel-doctor)[ RSS](/packages/codevioso-laravel-doctor/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (4)Used By (0)

Laravel Doctor
==============

[](#laravel-doctor)

 [![Laravel Doctor](marketing/og-cover.png)](https://rdhafiz.github.io/laravel-doctor/)

Instantly diagnose configuration, performance and production safety issues in your Laravel application.

📄 **[View the landing page →](https://rdhafiz.github.io/laravel-doctor/)**

[![Tests](https://github.com/rdhafiz/laravel-doctor/actions/workflows/tests.yml/badge.svg)](https://github.com/rdhafiz/laravel-doctor/actions/workflows/tests.yml)[![Latest Version](https://camo.githubusercontent.com/b74c4f84899619e4bff0d33c0772180a4a06387a84dd52abfe142ec92651cd07/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636f646576696f736f2f6c61726176656c2d646f63746f722e737667)](https://packagist.org/packages/codevioso/laravel-doctor)[![Downloads](https://camo.githubusercontent.com/bd765d6dbf7a107e984c732331b73fef93abdf85791c57f84e1b0f43c4d4e042/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f636f646576696f736f2f6c61726176656c2d646f63746f722e737667)](https://packagist.org/packages/codevioso/laravel-doctor)[![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE)

Introduction
------------

[](#introduction)

Laravel Doctor is a CLI tool that scans your Laravel application for common configuration mistakes, performance anti-patterns, and production safety issues. It runs a set of checks against your app config, environment, and filesystem and reports findings with actionable messages.

Production misconfigurations—debug mode enabled, file-based cache in production, sync queue driver, missing storage symlink—are easy to overlook but costly in production. Laravel Doctor surfaces these issues before they impact users or performance. It verifies cache state, driver choices, file permissions, PHP extensions, and more.

Run it locally. No external services, no API calls, no network dependencies.

```
php artisan doctor:check
```

Installation
------------

[](#installation)

```
composer require codevioso/laravel-doctor
```

Optionally publish the config file:

```
php artisan vendor:publish --tag=doctor-config
```

Usage
-----

[](#usage)

```
php artisan doctor:check
```

**Run only specific checks:**

```
php artisan doctor:check --only=ConfigCacheCheck
```

**Skip checks:**

```
php artisan doctor:check --skip=RouteCacheCheck,ViewCacheCheck
```

**Demo report (sample output, no real checks):**

```
php artisan doctor:check --demo
```

Example Output
--------------

[](#example-output)

```
Laravel Doctor Report
=====================

Errors: 1 | Warnings: 2 | Suggestions: 1 | Passed: 10

Errors:
--------
APP_DEBUG is enabled in production. Set APP_DEBUG=false.

Warnings:
---------
Cache driver is file in production. Use redis/memcached/database for better performance.
Config is not cached. Run: php artisan config:cache

Suggestions:
-----------
Cannot verify queue worker process from PHP. Ensure a supervisor/systemd process runs: php artisan queue:work

Passed:
--------
APP_ENV matches the environment.
Route cache not required for this environment.
View cache not required for this environment.
Queue driver is not sync in production.
Session driver is not file in production.
Storage symlink exists.
Log channel is appropriate for environment.
Composer autoload optimization not required for this environment.
All required PHP extensions are available.
Storage and bootstrap/cache directories are writable.

Completed in 45 ms
Fix errors first, then rerun.

```

Included Checks
---------------

[](#included-checks)

- APP\_DEBUG in production
- APP\_ENV mismatch
- Config cache
- Route cache
- View cache
- Queue sync driver in production
- Queue worker detection
- Cache driver in production
- Session driver in production
- Storage symlink
- File permissions
- Composer optimized autoload
- Required PHP extensions
- Log channel configuration

Configuration
-------------

[](#configuration)

The `config/doctor.php` file controls which checks run and how. After publishing, you can:

- **Enable or disable the package:** Set `enabled` to `true` or `false`.
- **Enable or disable individual checks:** Use the `checks` array. Keys are check class names, values are `true` or `false`.
- **High-traffic flag:** Set `environment.high_traffic` to `true` to enable additional logging-related checks.
- **Custom checks:** Add class names to the `custom_checks` array to run your own checks (they are enabled by default).

Extending (Custom Checks)
-------------------------

[](#extending-custom-checks)

Register your own checks by implementing `Codevioso\LaravelDoctor\Contracts\CheckInterface` and registering them with the `Doctor` service:

```
use Codevioso\LaravelDoctor\Doctor;

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

Custom checks must implement `CheckInterface`, which defines `key()`, `title()`, and `run(DoctorContext $context)` returning a `CheckResult`.

Contributing
------------

[](#contributing)

Contributions are welcome. Please submit a pull request on [GitHub](https://github.com/rdhafiz/laravel-doctor). Run tests before submitting (`composer test`) and follow the existing package architecture for checks and configuration.

Security
--------

[](#security)

If you discover a security vulnerability, please report it privately via [GitHub Security Advisories](https://github.com/rdhafiz/laravel-doctor/security/advisories) or contact the maintainers. Do not open a public issue.

License
-------

[](#license)

The MIT License (MIT). Please see [LICENSE](LICENSE) for more information.

###  Health Score

32

—

LowBetter than 72% of packages

Maintenance82

Actively maintained with recent releases

Popularity1

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity35

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

97d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ddf88924fe7096dc3e836c3d1c7c46d22cd8724a9573a8fa72f813ba9901430c?d=identicon)[rdhafiz](/maintainers/rdhafiz)

---

Top Contributors

[![rdhafiz](https://avatars.githubusercontent.com/u/5351783?v=4)](https://github.com/rdhafiz "rdhafiz (6 commits)")

---

Tags

artisancli-tooldebuggingdeveloper-toolsdevopsdiagnosticslaravellaravel-packageperformancephpclilaravelperformanceartisandiagnostics

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/codevioso-laravel-doctor/health.svg)

```
[![Health](https://phpackages.com/badges/codevioso-laravel-doctor/health.svg)](https://phpackages.com/packages/codevioso-laravel-doctor)
```

###  Alternatives

[nunomaduro/collision

Cli error handling for console/command-line PHP applications.

4.6k331.8M8.5k](/packages/nunomaduro-collision)[nunomaduro/laravel-console-menu

Laravel Console Menu is an output method for your Laravel/Laravel Zero commands.

815412.0k48](/packages/nunomaduro-laravel-console-menu)[nunomaduro/laravel-console-task

Laravel Console Task is a output method for your Laravel/Laravel Zero commands.

2582.1M11](/packages/nunomaduro-laravel-console-task)[laravel-zero/framework

The Laravel Zero Framework.

3371.4M369](/packages/laravel-zero-framework)[nunomaduro/laravel-console-summary

A Beautiful Laravel Console Summary for your Laravel/Laravel Zero commands.

662.0M3](/packages/nunomaduro-laravel-console-summary)[nunomaduro/laravel-console-dusk

Laravel Console Dusk allows the usage of Laravel Dusk in Laravel/Laravel Zero artisan commands.

16255.4k7](/packages/nunomaduro-laravel-console-dusk)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
