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.
Architecture fit
Integration feasibility
Connection contract cannot cleanly hold.amphp/amp v2 (Loop) or v3 (Revolt). Laravel 10/11 plus Octane (Swoole/OpenSwoole/RoadRunner) bring their own concurrency primitives, and mixing loops is fragile and hard to debug.Technical risk: high
amphp/sqlite3 under the amphp org. Confirm whether it is a rename, a stale fork, or a divergent rewrite — the answer changes the risk profile entirely.SQLITE_BUSY; async does not remove the bottleneck, it only moves where you wait.Key questions
amphp/sqlite3, or an abandoned personal experiment? Last commit and release dates?ext-sqlite3, ext-pdo_sqlite, or shell out to the sqlite3 binary? (Deployment consequence differs sharply.)busy_timeout, prepared statements, parameter binding, transactions, cancellation?Stack fit
Migration path
await/Loop::run) only for batched work — otherwise you have paid the complexity cost for nothing.Compatibility
Sequencing
amphp/sqlite3.Maintenance
Support
Scaling
Failure modes
SQLITE_BUSY / lock contention under concurrent writers.sleep, blocking PDO) stalls every coroutine in the process.Ramp-up
TPM verdict: treat this as a scoped internal experiment, not a platform dependency. For a Laravel shop, PDO SQLite or the canonical amphp/sqlite3 covers the same ground with materially better support and a far lower bus-factor risk.
How can I help you explore Laravel packages today?