Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
L

laravel-self-diagnosis

> 编程语言
Open source

Perform Self-Diagnosis Tests On Your Laravel Application

1.5K stars0 likes1 views
WebsiteGitHub

About

Perform Self-Diagnosis Tests On Your Laravel Application

Perform Self-Diagnosis Tests On Your Laravel Application

This package allows you to run self-diagnosis tests on your Laravel application. It comes with multiple checks out of the box and allows you to add custom checks yourself.

Here is an example output of the command:

Included checks

  • Is the APP_KEY set?
  • Are your composer dependencies up to date with the composer.lock file?
  • Do you have the correct PHP version installed?
  • Do you have the correct PHP extensions installed?
  • Can a connection to the database be established?
  • Do the storage and bootstrap/cache directories have the correct permissions?
  • Does the .env file exist?
  • Is the maintenance mode disabled?
  • Are the required locales installed on the system?
  • Are there environment variables that exist in .env.example but not in .env?
  • Are there any migrations that need to be run?
  • Is the storage directory linked?
  • Can Redis be accessed?

Development environment checks

  • Is the configuration not cached?
  • Are the routes not cached?
  • Are there environment variables that exist in .env but not in .env.example?

Production environment checks

  • Is the configuration cached?
  • Are the routes cached?
  • Is the xdebug PHP extension disabled?
  • Is APP_DEBUG set to false?
  • Are certain servers reachable?
  • Are certain supervisor programs running?

Installation

You can install the package via composer:

bash
composer require beyondcode/laravel-self-diagnosis

Usage

Just call the artisan command to start the checks:

bash
php artisan self-diagnosis

Customization

You can publish the configuration file, that contains all available checks using:

bash
php artisan vendor:publish --provider=BeyondCode\\SelfDiagnosis\\SelfDiagnosisServiceProvider

This will publish a self-diagnosis.php file in your config folder. This file contains all the checks that will be performed on your application.

…

Available Configuration Options

The following options are available for the individual checks:

  • BeyondCode\SelfDiagnosis\Checks\ComposerWithDevDependenciesIsUpToDate
    • additional_options (string, optional parameters like '--ignore-platform-reqs'): optional arguments for composer
  • BeyondCode\SelfDiagnosis\Checks\ComposerWithoutDevDependenciesIsUpToDate
    • additional_options (string, optional parameters like '--ignore-platform-reqs'): optional arguments for composer
  • BeyondCode\SelfDiagnosis\Checks\DatabaseCanBeAccessed
    • default_connection (boolean, default: true): if the default connection should be checked
    • connections (array, list of connection names like ['mysql', 'sqlsrv'], default: []): additional connections to check
  • BeyondCode\SelfDiagnosis\Checks\DirectoriesHaveCorrectPermissions
    • directories (array, list of directory paths like [storage_path(), base_path('bootstrap/cache')], default: []): directories to check
  • BeyondCode\SelfDiagnosis\Checks\LocalesAreInstalled
    • required_locales (array, list of locales like ['en_US', 'en_US.utf8'], default: []): locales to check
  • BeyondCode\SelfDiagnosis\Checks\PhpExtensionsAreDisabled
    • extensions (array, list of extension names like ['xdebug', 'zlib'], default: []): extensions to check
  • BeyondCode\SelfDiagnosis\Checks\PhpExtensionsAreInstalled
    • extensions (array, list of extension names like ['openssl', 'PDO'], default: []): extensions to check
    • include_composer_extensions (boolean, default: false): if required extensions defined in composer.json should be checked
  • BeyondCode\SelfDiagnosis\Checks\RedisCanBeAccessed
    • default_connection (boolean, default: true): if the default connection should be checked
    • connections (array, list of connection names like ['cache_1', 'cache_2'], default: []): additional connections to check
  • BeyondCode\SelfDiagnosis\Checks\SupervisorProgramsAreRunning
    • programs (array, list of programs like ['horizon', 'another-program'], default: []): programs that are required to be running
    • restarted_within (integer, max allowed seconds since last restart of programs (0 = disabled), default: 0): verifies that programs have been restarted recently to grab code updates
  • BeyondCode\SelfDiagnosis\Checks\ServersArePingable
    • servers (array, list of servers and parameters like ['google.com', ['host' => 'google.com', 'port' => 8080]]): servers to ping

Custom Checks

You can create custom checks, by implementing the BeyondCode\SelfDiagnosis\Checks\Check interface and adding the class to the config file. Like this:

…

Example Output

Testing

bash
composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

  • Marcel Pociot
  • All Contributors

License

The MIT License (MIT). Please see License File for more information.

Issues· 11 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

PHP

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言