andrewcarteruk/nomoreleaksbundle
Installation:
composer require andrewcarteruk/nomoreleaksbundle
Register Bundle (Symfony 2/3):
Add to app/AppKernel.php:
new AndrewCarterUK\NoMoreLeaksBundle\NoMoreLeaksBundle(),
Basic Configuration (config/packages/no_more_leaks.yaml or app/config/config.yml):
no_more_leaks:
doctrine: ~
monolog: ~
(Equivalent to enabling both Doctrine and Monolog leak fixes with default settings.)
First Use Case:
Doctrine Leak Prevention:
managers: [default, custom]).no_more_leaks:
doctrine:
enabled: true
managers:
- default
- my_custom_manager
Monolog Leak Prevention:
stream, syslog) not flushed/closed.channels: [app, security]).no_more_leaks:
monolog:
enabled: true
channels:
- app
- security
Combined Usage:
no_more_leaks:
doctrine: ~
monolog: ~
no_more_leaks:
doctrine:
enabled: "%kernel.debug%" # Disable in prod
EventListener class to handle additional leak scenarios (e.g., custom Doctrine extensions).Symfony Version Mismatch:
composer.json constraints or fork the bundle.Doctrine Manager Misconfiguration:
managers, its leaks won’t be addressed.$this->get('doctrine')->getManagerNames();
Monolog Channel Oversight:
False Positives:
config/packages/monolog.yaml:
handlers:
nomoreleaks:
type: stream
path: "%kernel.logs_dir%/nomoreleaks.log"
level: debug
AndrewCarterUK\NoMoreLeaksBundle\LeakHandlerInterface for new leak types (e.g., Symfony cache leaks).EventSubscriber to hook into lifecycle events (e.g., kernel.terminate).no_more_leaks:
enabled: "%kernel.environment% == 'prod'"
How can I help you explore Laravel packages today?