Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Apc Profiler Bundle Laravel Package

stealth35/apc-profiler-bundle

A Symfony bundle that integrates APC/APCu statistics into the web profiler, adding a debug toolbar panel for cache memory usage, hits, misses, and stored entries so developers can inspect and troubleshoot caching behavior during development.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit. Despite the "Laravel/PHP package" categorization, stealth35/apc-profiler-bundle is a Symfony bundle, not a Laravel package and not a framework-agnostic library. Its architecture is a Symfony Bundle subclass with a DI extension and a profiler DataCollector that plugs into the Web Debug Toolbar. It has no service provider, facade, or config file compatible with Laravel. Adopting it in a Laravel codebase is not an integration problem — it is a framework substitution problem.

Integration feasibility. Low. Two paths exist:

  • If the stack is actually Symfony 2.x (legacy), this can be dropped in via AppKernel registration and yields a toolbar panel showing APC/APCu cache stats. That is the only native use case.
  • If the stack is Laravel (the stated context), the bundle cannot be installed meaningfully. The underlying capability — surfacing APC/APCu cache stats in a debug panel — is already provided by Laravel Debugbar's cache collector or easily built as a ~50-line Telescope watcher calling apcu_cache_info() / apcu_sma_info(). Reimplementing the concept is cheaper than porting the bundle.

Technical risk. High.

  • Runtime fragility: APC was removed in PHP 7. Modern environments expose only APCu (apcu_*) and OPcache. Any residual apc_* calls in a PHP 7+/8 environment will fatal on undefined functions or silently no-op if aliases were shimmed.
  • EOL dependencies: Symfony 2 component APIs (HttpKernel, Profiler, DI) are out of security support and conflict with Symfony 4/5/6 constraints.
  • Maintenance signals: 19 stars, 0 dependents, score 0.285 — effectively orphaned. No evidence of CI, tests, or recent commits. Treat as abandoned code.

Key questions.

  1. Target Symfony and PHP versions — is there any supported combination still running in our estate?
  2. Does it call apc_* or apcu_*, and does it guard with function_exists?
  3. Is there a maintained fork we should evaluate instead of upstream?
  4. Do we actually need APC cache introspection, or just cache instrumentation (which Debugbar/Telescope already covers)?
  5. What is the real driver — legacy Symfony app support, or a desire for cache visibility in Laravel? These resolve to different decisions.

Integration Approach

Stack fit. Mismatched for a Laravel shop. It is only a fit for a Symfony 1.x/2.x-era application. Score it as not applicable for Laravel and legacy-only for Symfony.

Migration path. None in the conventional sense — a bundle is installed and registered, not wrapped. To obtain the capability on our stack:

  • Laravel: enable the cache panel in barryvdh/laravel-debugbar, or register a custom Telescope watcher reading apcu_cache_info(). No third-party dependency required.
  • Modern Symfony: use the built-in Cache profiler panel (Symfony 4.1+ ships one), which supersedes this bundle entirely.
  • Legacy Symfony 2: install as-is only if the runtime is PHP 5.6 with APC; otherwise port to APCu.

Compatibility. Presumed PHP 5.4–5.6 and Symfony 2.0–2.8. Incompatible with PHP 7+ APCu-only environments and with Symfony 3+ without patching. Do not add to a composer.json that resolves modern constraints — expect unsatisfiable requirements or a framework conflict.

Sequencing.

  1. Confirm the target framework before any code work. If Laravel, stop — this package is out of scope.
  2. If legacy Symfony 2: verify PHP/APC runtime, pin exact versions, install in a non-production environment only.
  3. Run a smoke test: load the app, confirm the toolbar panel renders, confirm no fatal on environments lacking APC.
  4. If the goal is cache visibility (not this package specifically), sequence a spike on Debugbar/Telescope instead — one ticket, one afternoon.

Operational Impact

Maintenance. Effectively unmaintained. No upstream fix path, no CVE response, no upgrade story. Any adoption transfers long-term maintenance liability to us. Budget for a fork if the capability is genuinely required.

Support. Zero community. 0 dependents means no peer knowledge base, no Stack Overflow corpus, no third-party guides. Onboarding cost is "read the source." README-level documentation only.

Scaling. The profiler collector overhead is per-request but dev-only in intent. The APCu stats calls (apcu_cache_info, apcu_sma_info) are cheap but must never run in production — they add noise and expose internals through the toolbar. There is no production-mode value here; this is a developer-experience tool, not an operational one.

Failure modes.

  • Fatal error on undefined apc_* in PHP 7+ environments.
  • DI compile failure when the bundle's extension conflicts with modern Symfony service definitions.
  • Silent no-op: panel absent or empty when APC is disabled — easy to misdiagnose as "no cache traffic" rather than "instrumentation broken."
  • Security exposure if left enabled in production and the toolbar is reachable.

Ramp-up. Low to read the source (it is a small bundle), but ramp-up is effort spent on a dead end. The conceptual takeaway — instrument the cache layer in the debug toolbar — is transferable in an hour; the artifact is not.

Recommendation. Do not adopt. For a Laravel stack it is architecturally inapplicable; for a Symfony stack the built-in cache profiler supersedes it; for legacy Symfony 2 it is unsupported and fragile. If the underlying requirement is cache visibility, satisfy it with Debugbar/Telescope (Laravel) or the native profiler (Symfony) and close the evaluation.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
frankyso/ipaymu
3mdikram/worldmoneywords
snowsoft/config
itmosoft/laravel-subscriptions
larva/laravel-ai-qwen
diephp/sequences
users-au/socialite-provider
twidpay/twid-logger
mrnewport/laravel-plaid
mrnewport/laravel-repo
mrnewport/laravel-docsign
mrnewport/laravel-stow
mrnewport/laravel-flow
mrnewport/laravel-priceable
mrnewport/laravel-nestedterms
fredmeng/laravel-apidoc-generator