fabpot/amphp-sqlite3
fabpot/amphp-sqlite3 provides asynchronous, non-blocking access to SQLite3 databases for Amp-based PHP applications, using promises and coroutines so queries can run without blocking the event loop.
Adopt or spike when:
amphp/http-server or amphp/mysql is where the value compounds.Look elsewhere when:
sqlite3/PDO extension (worker process, fibers, something else), which Amp major version it targets, and whether prepared statements, transactions, and busy-timeout handling are covered.Executives: This is a small, permissively licensed building block that lets our PHP services use an embedded database without stalling other work in the process. It makes SQLite a credible option for single-node, on-prem, and internal-tooling scenarios — often the cheapest form of persistence we can ship. I'd frame it as an evaluated component, not an approved dependency: it's early-stage and effectively single-maintainer. Recommend a gated pilot — one service, one quarter — with a documented fallback to PDO, rather than a roadmap commitment.
Engineering: The upside is concrete: non-blocking SQLite access inside an Amp event loop, consistent concurrency and cancellation semantics with the rest of the ecosystem, MIT license, and no runtime services to operate. The caveats are equally concrete: no community to lean on, and it does not change SQLite's single-writer constraint — it only removes blocking from the caller's side. Approve a spike with four exit criteria: (1) verified driver approach and Amp version support; (2) a load test showing measurable p95 or throughput improvement over PDO in our actual worker; (3) transaction and error-path coverage we trust, including busy/locked handling; (4) a written fallback plan, so swapping to sync PDO or Postgres stays a days-not-quarters exercise. If any criterion fails, we wrap it in our own interface or skip it — we don't adopt it directly.
How can I help you explore Laravel packages today?