Download the PHP package generationtux/healthz without Composer
On this page you can find all versions of the php package generationtux/healthz. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package healthz
PHP Healthz
Health checking for PHP apps with built-in support for Laravel.

Get an easy overview of the health of your app! Implement a health check endpoint for load balancers, or your own sanity :) Comes with an optional UI and set of pre-configured checks you can use, and is extensible to add custom health checks to the stack as well.
- Setup and usage
- Laravel
- General PHP
- Available checks and config
- HTTP
- Memcached
- Debug
- Env)
- Database (Laravel)
- Queue (Laravel)
- Creating custom checks
Setup
Laravel < 5.4
(the following should work with Lumen as well, with minor differences)
Add the service provider that will register the default health checks and routes
You should be able to visit /healthz/ui
to see the default Laravel health checks, or run php artisan healthz
to get a CLI view.
To add basic auth to the UI page, set the HEALTHZ_USERNAME
and HEALTHZ_PASSWORD
environment variables.
Even if the UI has basic auth, the simplified /healthz
endpoint will always be available to respond with a simple ok
or fail
for load balancers and other automated checks to hit.
In order to customize the health checks, simply register Gentux\Healthz\Healthz
in your app service provider (probably app/Providers/AppServiceProvider.php
) to build a custom Healthz instance.
See more about configuring available checks
General PHP
Build an instance of the health check
Run the checks and review results
Get the UI view
Check configuration
- HTTP
- Memcached
- Debug
- Env
- Database (Laravel)
- Queue (Laravel)
HTTP
Create a new Guzzle Request to pass to the constuctor of the HTTP health check.
You can optionally pass the expected response status code (defaults to 200
), as well as Guzzle client options.
Memcached
Create a new Memcached health check and use the methods addServer
and setOptions
.
See Memcached setOptions for option information.
Debug
Set the environment variable to check if the app is running in debug. If this check fails, it emits a warning.
In this case, if APP_DEBUG
== 'true'
then this check will emit a warning.
Env
Provide an environment variable name to check for the apps environment. If the provided env name is found the check will always be successful and simply output the name. If no environment variable is set the check will emit a warning.
Database (Laravel)
This will use Laravel's built in database service to verify connectivity. You may optionally set a connection name to use (will use the default if not provided).
Queue (Laravel)
The queue health check currently supports sync
and sqs
queues. You may optionally set the queue name to use (will use the default if not specified).
Custom checks
Note: Checks may have one of 3 statuses (success
, warning
, or failure
). Any combination of success and warning and the stack as a whole will be considered to be successful.
Any single failure, however, will consider the stack to be failed.
To create a custom health check, you should extend Gentux\Healthz\HealthCheck
and implement the one abstract method run()
.
If no exception is thrown, the check will be presumed to have been successful. Otherwise, the exception's message will be used as the status
of the failed check.
If you would like the check to show a warning
instead of a full failure, throw an instance of Gentux\Healthz\Exceptions\HealthWarningException
.
Contributing
What you need
- docker & docker-compose
- a fork of this repo
Bringing up the development environment
Exec into the container
Composer install
Running the tests
Finally
Make your changes and add any needed tests around said changes. Then open a pull request into the generationtux repository.
All versions of healthz with dependencies
guzzlehttp/guzzle Version ^6.2|^7.0.1|^7.2
aws/aws-sdk-php Version ~3.0
illuminate/contracts Version ^6.0|^7.0|^8.0|^9.0
illuminate/database Version ^6.0|^7.0|^8.0|^9.0
illuminate/queue Version ^6.0|7.0|^8.0|^9.0
illuminate/console Version ^6.0|^7.0|^8.0|^9.0
twig/twig Version ^3.0