incubator.to

CLI projects · PHP

Portrait of Tit Petric

Author

Tit Petric

@titpetric

A transactional database client, and traces that name the line

1 to 14 August 2026

Two busy weeks on the runner. Scripts can talk to a database, shut down cleanly, and the server can tell you what it is doing.

Abstract terminal blocks in teal on a dark desk
CLI
  1. PS\DatabaseClient landed with CRUD and transactions. The client is wrapped in telemetry, and the Go PDO bridge was updated to match.
  2. The HTTP server now reads an embedded phpscript.yml. The old route subcommand is folded into the main process, and a status page reports what is running.
  3. Tracing opens nested spans, names the file and line, and covers include statements and constructor calls. __FILE__ and __LINE__ re-evaluate per included file.
  4. register_shutdown_function and runner shutdown callbacks run cleanup when a script ends.
  5. The flatstack runner gained user functions, list() destructuring, and try/catch/finally. getenv and putenv are in the stdlib.
  6. POSIX shared memory shipped as PS\SharedMemory, with docs and a test that actually shares a segment.
  7. phpscript test is a first-class command. Lint and the formatter tightened import blocks, spacing, and parentheses.
  8. A dbadmin frontend demo and a Caddy-backed compose setup show the server in use. Configuration docs, extension notes, and import-structure diagrams catch the rest of the window.

This is the stretch where phpscript stops being only a parser demo. A PHP syntax VM in Go, no CGO, can now persist data, observe a request, and tell you what the process is doing.

Source: commits on github.com/titpetric/phpscript, 1 to 14 August 2026.
Follow this project View on GitHub

Register a project

Name the project and paste a git URL. The source stays where it is.