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

Ckfinder Bundle Laravel Package

jonlil/ckfinder-bundle

A Symfony bundle that integrates CKFinder, the rich file manager and uploader, into your application. It wires CKFinder into Symfony routing, security, and configuration so you can add a full-featured file browser and uploader to your admin panels or WYSIWYG editors with minimal setup.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit: framework mismatch is the headline finding, not a footnote. jonlil/ckfinder-bundle is a Symfony bundle, not a Laravel package. Its entire value-add is Symfony 2-era glue — DI service definitions, bundle routing, asset publishing for the CKFinder web UI. None of that maps onto Laravel's service container, routing, or public/ publishing model. For a Laravel roadmap, this package has no viable integration path as shipped. The only genuinely portable component underneath is CKFinder's own PHP connector, which does not need this bundle to be used.

Integration feasibility: low as-is, moderate if the bundle is discarded. A Laravel team would not "install this package"; it would fork it to extract the connector and re-implement the configuration surface in Laravel terms (config file, filesystem disks, auth middleware). At that point the package contributes a historical reference implementation and little else. The realistic options are (a) integrate CKFinder's vendor-supported connector directly, or (b) drop CKFinder and use a maintained Laravel-native media library / file manager.

Technical risk — high on four independent axes:

  • Abandonment: zero stars, zero dependents, no adoption signal. No user base to surface bugs, no maintainer to merge security fixes, no upgrade path.
  • Runtime compatibility: Symfony 2-era conventions target PHP 5.3–5.6. Expect fatal errors on PHP 8.x, with no Laravel autoload/container contracts.
  • Licensing: CKFinder is commercial software from CKSource. Using this wrapper without a license on record is a procurement and compliance exposure, not a technical detail.
  • Security surface: this package's job is to expose a file-upload and file-browse endpoint — a classic high-severity attack surface — wrapped around an EOL file manager version.

Key questions a TPM must get answered before this reaches a sprint:

  1. Is there an existing CKFinder license, and which major version does it cover?
  2. Is there a Symfony application in the estate this was actually written for, or was "Laravel" a framing error in the request?
  3. What capability is actually required — in-editor image insertion, general DAM/browse, or end-user file management? These have very different cost profiles and vendor choices.
  4. Is there a data-retention or existing-asset-migration constraint that forces CKFinder specifically?
  5. What is tolerance for a commercial dependency with renewal cost versus an open-source alternative?

TPM read: this is not an integration candidate. It is a signal that an unresolved CKFinder requirement exists and needs a build/buy decision.

Integration Approach

Stack fit: none out of the box. Modern Laravel (10/11/12) on PHP 8.2+ is incompatible with a Symfony 2 bundle's assumptions. There is no supported configuration in which this package runs unmodified inside a current Laravel application. Do not plan a milestone around "just install it."

Migration path: replace, do not port. Three routes, in ascending lock-in:

  1. Laravel-native file manager — a maintained media-library or file-manager package, or the uploader built into the editor already in the product. Lowest cost, no license, actively maintained. Default recommendation absent a hard constraint.
  2. CKFinder connector directly, without this bundle — if CKFinder is a genuine requirement, take CKSource's current connector as a Composer dependency and wire it to Laravel's filesystem disks and auth middleware in-house. You get vendor-supported code and drop the abandoned middle layer.
  3. Fork the bundle — only defensible if a Symfony 2/3 application must be kept alive, which is a much larger problem than this package.

Compatibility gates to clear before committing: target PHP version vs. bundle constraint; target Laravel version vs. absence of any service provider; CKFinder major version vs. the connector API the bundle expects; and whether the CKFinder front-end JS build is itself still vendor-supported.

Sequencing:

  1. Freeze — no new code depends on this package.
  2. Audit — license status and any deployed instances for unpatched upload endpoints.
  3. Spike (1–2 days) — validate route 1 against the actual editor/browse use case.
  4. Scope route 2 only if CKFinder is mandated, including connector swap and auth middleware.
  5. Decommission the bundle and document the decision so it does not resurface from a stale README.

Operational Impact

Maintenance: effectively nil, and that is the problem. No maintainer activity, no dependents generating issue traffic, no upgrade path. Every future PHP or framework bump becomes an internal fork-maintenance task owned indefinitely by whoever integrates it. Budget it that way or don't integrate it.

Support: bifurcated and thin. Community support is absent. The only commercial support channel is CKSource's, which covers CKFinder itself and will not extend to a third-party abandoned wrapper around it. Any incident on the bundle/connector boundary is the team's alone.

Scaling: storage is the real constraint, not this package. The bundle-era design assumes local disk and synchronous browse over a directory tree. At meaningful asset volume you need object storage (S3-compatible via Laravel's filesystem abstraction), a CDN, and off-request thumbnail generation — none provided, all build work. The browse endpoint is also called on every editor "insert image" interaction, so directory-listing caching must be planned.

Failure modes to design against:

  • Upload endpoint abuse — path traversal, unrestricted file types, executable-content upload. Mitigate with strict allow-lists, image re-encoding, storage outside the webroot, non-guessable paths.
  • Auth drift — a separate connector route bypassing Laravel middleware is a common gap; browse/upload must sit behind the same authorization as the rest of the app.
  • License lapse — commercial license expiry can silently block the connector at runtime.
  • Orphaned assets — no cleanup lifecycle exists in this layer; garbage collection is the team's responsibility.
  • Version skew — front-end CKFinder JS and back-end connector drifting apart produces opaque failures with no upstream fix.

Ramp-up: low hours, open-ended tail. No meaningful documentation beyond the README, and no engineers in the market with operating experience on this bundle. Ramp-up cost is dominated not by learning the package but by reverse-engineering what a departed integrator did — roughly a day to read the code, plus an unbounded tail of undocumented behavior. Routes 1 and 2 above ramp in hours because the replacements have real docs and active user bases.

Bottom line for the roadmap: score 0 with 0 dependents is the correct read. This is not a dependency to adopt; it is a prompt to resolve an unresolved CKFinder requirement. Allocate a short spike to choose between a Laravel-native file manager and a direct, vendor-supported CKFinder connector, record the decision, and close the item.

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.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console