{"id":42062872,"url":"https://github.com/fruitcake/laravel-debugbar","last_synced_at":"2026-04-10T09:01:49.169Z","repository":{"id":37276074,"uuid":"12615154","full_name":"fruitcake/laravel-debugbar","owner":"fruitcake","description":"Debugbar for Laravel (Integrates PHP Debug Bar)","archived":false,"fork":false,"pushed_at":"2026-04-08T09:40:52.000Z","size":15070,"stargazers_count":19153,"open_issues_count":79,"forks_count":1608,"subscribers_count":275,"default_branch":"master","last_synced_at":"2026-04-08T11:27:47.698Z","etag":null,"topics":["debugbar","developer-tool","laravel","profiler","toolbar"],"latest_commit_sha":null,"homepage":"http://laraveldebugbar.com/","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fruitcake.png","metadata":{"files":{"readme":"readme.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"barryvdh","custom":["https://fruitcake.nl"]}},"created_at":"2013-09-05T10:26:54.000Z","updated_at":"2026-04-08T09:40:56.000Z","dependencies_parsed_at":"2024-03-14T22:48:49.409Z","dependency_job_id":"d3b1a51c-448c-4db7-8a03-53086c6493b0","html_url":"https://github.com/fruitcake/laravel-debugbar","commit_stats":{"total_commits":1059,"total_committers":227,"mean_commits":4.665198237885463,"dds":0.392823418319169,"last_synced_commit":"ed9a30596404e4edc430f1756c14ab90d0da52c1"},"previous_names":["fruitcake/laravel-debugbar"],"tags_count":227,"template":false,"template_full_name":null,"purl":"pkg:github/fruitcake/laravel-debugbar","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fruitcake%2Flaravel-debugbar","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fruitcake%2Flaravel-debugbar/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fruitcake%2Flaravel-debugbar/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fruitcake%2Flaravel-debugbar/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fruitcake","download_url":"https://codeload.github.com/fruitcake/laravel-debugbar/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fruitcake%2Flaravel-debugbar/sbom","scorecard":{"id":226126,"data":{"date":"2025-08-11","repo":{"name":"github.com/barryvdh/laravel-debugbar","commit":"b6dca16a83bb8982e909bdbc2479a55e4c0755c3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.7,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Code-Review","score":6,"reason":"Found 20/30 approved changesets -- score normalized to 6","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Security-Policy","score":9,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Warn: One or no descriptive hints of disclosure, vulnerability, and/or timelines in security policy","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":9,"reason":"7 commit(s) and 4 issue activity found in the last 90 days -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T03:52:10.676Z","repository_id":37276074,"created_at":"2025-08-17T03:52:10.677Z","updated_at":"2025-08-17T03:52:10.677Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31635969,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["debugbar","developer-tool","laravel","profiler","toolbar"],"created_at":"2026-01-26T08:00:35.187Z","updated_at":"2026-04-10T09:01:49.162Z","avatar_url":"https://github.com/fruitcake.png","language":"PHP","funding_links":["https://github.com/sponsors/barryvdh","https://fruitcake.nl"],"categories":["PHP"],"sub_categories":[],"readme":"## Debugbar for Laravel\n\n![Unit Tests](https://github.com/fruitcake/laravel-debugbar/workflows/Unit%20Tests/badge.svg)\n[![Packagist License](https://img.shields.io/badge/Licence-MIT-blue)](https://choosealicense.com/licenses/mit)\n[![Latest Stable Version](https://img.shields.io/packagist/v/fruitcake/laravel-debugbar?label=Stable)](https://packagist.org/packages/fruitcake/laravel-debugbar)\n[![Total Downloads](https://img.shields.io/packagist/dt/barryvdh/laravel-debugbar?label=Downloads)](https://packagist.org/packages/fruitcake/laravel-debugbar)\n[![Fruitcake](https://img.shields.io/badge/Powered%20By-Fruitcake-b2bc35.svg)](https://fruitcake.nl)\n\nThis is a package to integrate [PHP Debug Bar](https://github.com/php-debugbar/php-debugbar) with Laravel.\nIt includes a ServiceProvider to register the debugbar and attach it to the output. You can publish assets and configure it through Laravel.\nIt bootstraps some Collectors to work with Laravel and implements a couple custom DataCollectors, specific for Laravel.\nIt is configured to display Redirects and Ajax/Livewire Requests, which are shown in a dropdown.\nRead the [documentation](https://php-debugbar.com/docs) for more configuration options.\n\n![Debugbar Dark Mode screenshot](https://github.com/fruitcake/laravel-debugbar/assets/973269/6600837a-8b2d-4acb-ab0c-158c9ca5439c)\n\n\u003e [!CAUTION]\n\u003e Use the DebugBar only in development. Do not use Debugbar on publicly accessible websites, as it will leak information from stored requests (by design).\n\n\u003e [!WARNING]\n\u003e It can also slow the application down (because it has to gather and render data). So when experiencing slowness, try disabling some of the collectors.\n\nThis package includes some custom collectors:\n\n- QueryCollector: Show all queries, including binding + timing\n- RouteCollector: Show information about the current Route.\n- ViewCollector: Show the currently loaded views. (Optionally: display the shared data)\n- EventsCollector: Show all events\n- LaravelCollector: Show the Laravel version and Environment. (disabled by default)\n- SymfonyRequestCollector: replaces the RequestCollector with more information about the request/response\n- LogsCollector: Show the latest log entries from the storage logs. (disabled by default)\n- FilesCollector: Show the files that are included/required by PHP. (disabled by default)\n- ConfigCollector: Display the values from the config files. (disabled by default)\n- CacheCollector: Display all cache events. (disabled by default)\n\nBootstraps the following collectors for Laravel:\n\n- LogCollector: Show all Log messages\n- SymfonyMailCollector for Mail\n\nAnd the default collectors:\n\n- PhpInfoCollector\n- MessagesCollector\n- TimeDataCollector (With Booting and Application timing)\n- MemoryCollector\n- ExceptionsCollector\n\nIt also provides a facade interface (`Debugbar`) for easy logging Messages, Exceptions and Time\n\n## Installation\n\nRequire this package with composer. It is recommended to only require the package for development.\n\n```shell\ncomposer require fruitcake/laravel-debugbar --dev\n```\n\n\u003e Note: The package name has changed to `fruitcake/laravel-debugbar`. If you're using `barryvdh/laravel-debugbar`,\n\u003e you can safely replace this with the new package name: `composer remove barryvdh/laravel-debugbar --dev --no-scripts`\n\n\u003e Tip: Use 'composer require fruitcake/laravel-debugbar:\"^4@beta\" --dev' flag to try the new 4.x Beta version!\n\nLaravel uses Package Auto-Discovery, so doesn't require you to manually add the ServiceProvider.\n\nThe Debugbar will be enabled when `APP_DEBUG` is `true` and when the environment is not `production` or `testing`.\n\nYou can disable it in the config (`debugbar.enabled`) or by setting `DEBUGBAR_ENABLED` in your `.env`. See more options in `config/debugbar.php`\nYou can also set in your config if you want to include/exclude the vendor files also (FontAwesome, Highlight.js and jQuery). If you already use them in your site, set it to false.\nYou can also only display the js or css vendors, by setting it to 'js' or 'css'. (Highlight.js requires both css + js, so set to `true` for syntax highlighting)\n\n#### Copy the package config to your local config with the publish command:\n\n```shell\nphp artisan vendor:publish --provider='Fruitcake\\LaravelDebugbar\\ServiceProvider'\n```\n\n### Laravel with Octane:\n\nLaravel Debugbar 4.x works out of the box with Octane. No need to add anything to your config.\n\nIf you're upgrading from Laravel Debugbar 3.x, remove the 'flush' config for Debugbar in `config/octane.php`.\n\n## Usage\n\nYou can now add messages using the Facade (when added), using the PSR-3 levels (debug, info, notice, warning, error, critical, alert, emergency):\n\n```php\nDebugbar::info($object);\nDebugbar::error('Error!');\nDebugbar::warning('Watch out…');\nDebugbar::addMessage('Another message', 'mylabel');\n```\n\nAnd start/stop timing:\n\n```php\nDebugbar::startMeasure('render','Time for rendering');\nDebugbar::stopMeasure('render');\nDebugbar::addMeasure('now', LARAVEL_START, microtime(true));\nDebugbar::measure('My long operation', function() {\n    // Do something…\n});\n```\n\nOr log exceptions:\n\n```php\ntry {\n    throw new Exception('foobar');\n} catch (Exception $e) {\n    Debugbar::addThrowable($e);\n}\n```\n\nThere are also helper functions available for the most common calls:\n\n```php\n// All arguments will be dumped as a debug message\ndebug($var1, $someString, $intValue, $object);\n\n// `$collection-\u003edebug()` will return the collection and dump it as a debug message. Like `$collection-\u003edump()`\ncollect([$var1, $someString])-\u003edebug();\n\nstart_measure('render','Time for rendering');\nstop_measure('render');\nadd_measure('now', LARAVEL_START, microtime(true));\nmeasure('My long operation', function() {\n    // Do something…\n});\n```\n\nIf you want you can add your own DataCollectors, through the Container or the Facade:\n\n```php\nDebugbar::addCollector(new DebugBar\\DataCollector\\MessagesCollector('my_messages'));\n// Or via the App container:\n$debugbar = App::make('debugbar');\n$debugbar-\u003eaddCollector(new DebugBar\\DataCollector\\MessagesCollector('my_messages'));\n```\n\nBy default, the Debugbar is injected just before `\u003c/body\u003e`. If you want to inject the Debugbar yourself,\nset the config option 'inject' to false and use the renderer yourself and follow https://php-debugbar.com/docs/rendering\n\n```php\n$renderer = Debugbar::getJavascriptRenderer();\n```\n\nNote: Not using the auto-inject, will disable the Request information, because that is added After the response.\nYou can add the default_request datacollector in the config as alternative.\n\n## Enabling/Disabling on run time\n\nYou can enable or disable the debugbar during run time.\n\n```php\n\\Debugbar::enable();\n\\Debugbar::disable();\n```\n\nNB. Once enabled, the collectors are added (and could produce extra overhead), so if you want to use the debugbar in production, disable in the config and only enable when needed.\n\n\u003e Note: by default Debugbar can only be enabled in debug mode and non-production environments. It's highly recommended to don't install this in production at all.\n\u003e If you really need to enable it in production, you can set `debugbar.force_allow_enable` to true, or set `DEBUGBAR_FORCE_ALLOW_ENABLE=true` in your .env.\n\u003e This will not enable the Debugbar, but will run the ServiceProvider bootstrap so you can enable it after booting.\n\n## Storage\n\nDebugbar remembers previous requests, which you can view using the Browse button on the right. This will only work if you enable `debugbar.storage.open` in the config.\nMake sure you only do this on local development, because otherwise other people will be able to view previous requests.\nIn general, Debugbar should only be used locally or at least restricted by IP.\nIt's possible to pass a callback, which will receive the Request object, so you can determine access to the OpenHandler storage.\n\n## Twig Integration\n\nLaravel Debugbar comes with two Twig Extensions. These are tested with [rcrowe/TwigBridge](https://github.com/rcrowe/TwigBridge) 0.6.x\n\nAdd the following extensions to your TwigBridge config/extensions.php (or register the extensions manually)\n\n```php\n'Fruitcake\\LaravelDebugbar\\Twig\\Extension\\Debug',\n'Fruitcake\\LaravelDebugbar\\Twig\\Extension\\Dump',\n'Fruitcake\\LaravelDebugbar\\Twig\\Extension\\Stopwatch',\n```\n\nThe Dump extension will replace the [dump function](https://twig.symfony.com/doc/3.x/functions/dump.html) to output variables using the DataFormatter. The Debug extension adds a `debug()` function which passes variables to the Message Collector,\ninstead of showing it directly in the template. It dumps the arguments, or when empty; all context variables.\n\n```twig\n{{ debug() }}\n{{ debug(user, categories) }}\n```\n\nThe Stopwatch extension adds a [stopwatch tag](https://symfony.com/blog/new-in-symfony-2-4-a-stopwatch-tag-for-twig) similar to the one in Symfony/Silex Twigbridge.\n\n```twig\n{% stopwatch \"foo\" %}\n    …some things that gets timed\n{% endstopwatch %}\n```\n\n## Star History\n\n[![Star History Chart](https://api.star-history.com/svg?repos=fruitcake/laravel-debugbar\u0026type=Date)](https://www.star-history.com/#fruitcake/laravel-debugbar\u0026Date)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffruitcake%2Flaravel-debugbar","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffruitcake%2Flaravel-debugbar","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffruitcake%2Flaravel-debugbar/lists"}