Download the PHP package erlandmuchasaj/laravel-gzip without Composer
On this page you can find all versions of the php package erlandmuchasaj/laravel-gzip. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download erlandmuchasaj/laravel-gzip
More information about erlandmuchasaj/laravel-gzip
Files in erlandmuchasaj/laravel-gzip
Package laravel-gzip
Short Description Gzip your responses.
License MIT
Homepage https://github.com/erlandmuchasaj/laravel-gzip
Informations about the package laravel-gzip
Laravel Gzip
Laravel Gzip is a simple and effective way to gzip your response for a better performance.
Installation
Installing the Package
You can install the package via composer:
Installing Brotli Extension (Optional but Recommended)
Brotli provides 15-20% better compression than Gzip and is supported by all modern browsers. To install the Brotli extension, you can use PECL:
macOS (using Homebrew):
Ubuntu/Debian:
[!NOTE]
If Brotli is not available, the package will automatically fall back to Gzip compression.
Config file
Publish the configuration file using artisan.
Usage
This package has a very easy and straight-forward usage.
Laravel v11+
Just add the middleware in bootstrap/app.php, like so:
Laravel v10 and older
Just add the middleware to the $middleware array in app/Http/Kernel.php like so:
[!IMPORTANT] In a previous version, we recommended adding the middleware to the
webmiddleware group. Now, we recommend adding to global$middlewarebecause we want to apply gzip to all requests. Additionally, registering the middleware in thewebgroup caused debugger to break.Also, if you are using
spatie/laravel-cookie-consentpackage, you should register this middleware before the\Spatie\CookieConsent\CookieConsentMiddleware::classmiddleware.[!PS] To see the package working in production-like mode, use
APP_ENV=production(double-check typos) andAPP_DEBUG=false.
Important for Laravel v11+ / v12
If compression does not apply after changing environment/config values, clear cached config:
When testing locally you can force compression:
That's it! Now your responses will be gzipped.
Troubleshooting
If you still don't see Content-Encoding: gzip or Content-Encoding: br, check:
- The request includes
Accept-Encoding: gzip(orbr). - Response content is larger than
GZIP_MIN_LENGTH(default is256). - Route/path is not excluded by
excluded_paths. - MIME type is compressible.
- Config cache is cleared (
php artisan optimize:clear) after env changes.
Benchmark
I tested this package with a fresh installed laravel in homepage and got:
No Gzip => 72.9kb
With Gzip => 19.2kb *
Support me
I invest a lot of time and resources into creating best in class open source packages.
If you found this package helpful you can show support by clicking on the following button below and donating some amount to help me work on these projects frequently.
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please see SECURITY for details.
Credits
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-gzip with dependencies
ext-exif Version *
ext-zlib Version *
ext-fileinfo Version *
ext-json Version *
nesbot/carbon Version ^2|^3
illuminate/http Version ^8|^9|^10|^11|^12|^13
illuminate/support Version ^8|^9|^10|^11|^12|^13
illuminate/contracts Version ^8|^9|^10|^11|^12|^13
illuminate/filesystem Version ^8|^9|^10|^11|^12|^13