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

Phpredis Bundle Laravel Package

pompdelux/phpredis-bundle

A Symfony bundle that integrates the phpredis PHP extension with configurable Redis client services, connection management, and dependency injection, making it easy to use Redis for caching, sessions, queues, and pub/sub in Symfony applications.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Baseline correction: The evidence in this record contradicts the two prior assessments. pompdelux/phpredis-bundle is described as "phpredis for symfony2 apps", last released 2014-11-11, with 0 stars and a score of 0.3. That is not a Laravel package with a 1.0.2 patch history — it is an abandoned Symfony 2 bundle. The Laravel-framed write-ups (assessment-laravel_dev.md, assessment-tpm.md) appear to have been produced against a generic template rather than this repository, and their recommendations (service-provider auto-discovery, vendor:publish, exception-FQCN audits) do not apply. Treat that earlier guidance as void and re-baseline here.

Architecture fit: Poor for our stack. The package integrates with the Symfony 2 DependencyInjection component — bundle registration in AppKernel, YAML service definitions, container compilation — none of which has an analogue in Laravel. There is no service provider, no facade, no auto-discovery, no publishable config in the Laravel sense. Consuming it in a Laravel app would mean reading its YAML connection definitions and hand-reimplementing them inside an AppServiceProvider, at which point we have written the integration ourselves and the package contributes only a thin factory over the phpredis extension.

Integration feasibility: Low effort to read, high effort to use. The underlying capability — phpredis connections defined in config and injected as services — has been first-party in Laravel since 5.3 via Illuminate\Support\Facades\Redis and config/database.php redis block, with a phpredis driver selected by REDIS_CLIENT=phpredis. Laravel's built-in support is maintained, tested against current PHP/Laravel versions, and already understood by the team. The package offers no capability the framework lacks.

Technical risk: High on every axis except licensing.

  • Abandonment: No release in over a decade, 0 stars, no evidence of CI, static analysis, or a security disclosure process. Any defect becomes ours.
  • Platform drift: Symfony 2 code targets PHP 5.3/5.4-era idioms. Modern PHP 8.x will likely surface fatal signature incompatibilities in container/DI classes that have since changed across Symfony 3/4/5/6/7.
  • Extension coupling: The runtime depends on a compiled phpredis extension whose version must match the code's expectations; extension upgrades can change connection option semantics.
  • Bus factor: Single maintainer, inactive. MIT license at least permits forking and vendoring.

Key questions:

  • Are we actually a Symfony 2 shop, or was this package surfaced for a Laravel evaluation? The answer changes the recommendation from "replace" to "contain and migrate off."
  • Which concrete requirement is this meant to satisfy — cache, session store, queue backend — and does Laravel's native Redis driver already cover it?
  • What PHP and Symfony version is the target application pinned to, and is the package's composer.json even satisfiable there?
  • Is there existing production usage, and if so, what is the blast radius of removing it?
  • Who owns the code if we fork it — and is a fork cheaper than deleting the dependency?

Integration Approach

Stack fit: Non-fit for Laravel. If the target is a legacy Symfony 2 application, the bundle fits its intended context but that context itself is end-of-life. Either way, the package is not the right dependency for new work.

Migration path: For a Laravel target, the correct action is no adoption — implement the requirement directly against Illuminate\Support\Facades\Redis with REDIS_CLIENT=phpredis, configured through config/database.php and environment variables. Where a team wants an injectable client rather than the facade, wrap it in one application-level service and bind an interface in AppServiceProvider; that seam is worth more than any third-party bundle and survives framework upgrades. If the package is already in a legacy app, plan extraction: enumerate every container service it registers, reimplement each against first-party Redis support or predis, then delete the bundle.

Compatibility: Assume none by default. Verify the package's PHP constraint, Symfony constraint, and ext-redis requirement against our matrix before any spike, and expect the answer to be "incompatible with current PHP." There is no Laravel compatibility statement to check because Laravel was not the target.

Sequencing:

  1. Confirm the actual application stack and the requirement (cache/session/queue) — resolve the Laravel-vs-Symfony ambiguity first.
  2. If Laravel: close the evaluation. Document the decision and the first-party alternative so this package is not re-proposed.
  3. If Symfony 2: inventory current usage, capture the YAML connection definitions as the behavioral contract, and stand up the replacement in parallel.
  4. Validate the replacement against that contract — connection options, timeouts, serialization, key prefixing — before cutting over.
  5. Cut over behind a config flag, verify error paths and observability, then remove the bundle and its transitive dependencies.

Operational Impact

Maintenance: Unmaintained upstream. Adopting it means assuming full ownership of a fork: PHP 8 compatibility shims, extension API drift, and security review with no upstream to defer to. The MIT license makes this legal but not advisable. Cost is small in lines of code and large in "code nobody on the team wrote and nobody wants to own."

Support: Effectively zero. No issue triage, no release cadence, no CVE process, no documentation beyond a 2014 README. Internal engineers will be the only support channel, and the runbook will have to be written from source.

Scaling: The underlying phpredis extension is fast and scales well; the bundle adds only a thin configuration layer, so no scaling penalty from the package itself. The scaling risks are operational: persistent connections (pconnect) interacting badly with queue workers and long-lived processes, connection exhaustion when workers multiply, and no exposed failover/cluster configuration beyond whatever the 2014 YAML schema supports. Under Octane or a horizontally scaled worker fleet, those matter more than raw throughput.

Failure modes:

  • Missing or version-mismatched phpredis extension causing a fatal at container boot rather than a catchable exception.
  • Container compilation failure on modern PHP/Symfony from stale DI signatures — surfaces at deploy, not at test time if the test container differs.
  • Silent behavior drift if a replacement client differs in serialization, key prefix, or timeout defaults; caches appear to work but return misses or wrong shapes.
  • Connection exhaustion or blocking calls inside queue workers, degrading the whole worker pool.
  • No upstream patch path: any discovered defect is an internal ticket with no external fix.

Ramp-up: Low for a Symfony 2 engineer who has seen the bundle before, but that knowledge does not transfer — no Laravel developer gains anything from learning it. The real ramp-up cost is the fork: onboarding an owner, writing the compatibility shims, and documenting behavior the original README never described. Given a score of 0.3, 0 stars, and a decade of inactivity, the recommendation is to not adopt: use the framework's native Redis support, and if a legacy Symfony 2 dependency already exists, contain it and schedule its removal.

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.
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
itstructure/laravel-multilingual-tools
pdustdar/elasticsearch
markupai/php-sdk
rlacerda83/lumem-microservice-shipment
uni-method/symfony-lib
tacticmedia/scim-server-bundle
neika-ai/symfony-bundle
mattleads/agent-publishing-bundle
glavweb/framework-bundle