icom/ framework

A portable request lifecycle.

Standard PHP hosting now, bounded worker adapters for further validation.

PHP-FPM / cPanel

The live site runs on PHP 8.4 behind Apache/PHP-FPM. Only index.php, static assets and the sanitized source download are public. Application releases and storage live outside the document root. The deployment uses an atomic current symlink and retains the previous release for rollback. TLS is issued through hosting AutoSSL.

FrankenPHP

example
docker build -f deploy/Dockerfile -t icom-framework .
docker run --rm -p 8080:8080 --env-file .env \
  -v icom-storage:/app/storage icom-framework

Worker behavior

deploy/frankenphp-worker.php boots once, creates a new request scope per request and exits after MAX_REQUESTS (default 500). Global/static state and arbitrary external services remain the application author’s responsibility. FrankenPHP and Swoole are not installed on this cPanel host. The adapter files and repeated-request tests are included; production runtime benchmarks and concurrency/soak tests for those servers remain unverified.

Swoole

example
# Requires the Swoole extension on a separately managed server.
php deploy/swoole.php

Cloud deployment

deploy/kubernetes.yaml includes readiness/liveness probes, resource limits and security context. Supply an application key through a Kubernetes Secret. The example uses one replica because file-backed cache/rate limiting is node-local. For scale-out, replace those stores with shared infrastructure and coordinate migrations separately. The container and Kubernetes examples must be exercised in your own runtime before rollout.

Health and readiness

example
GET /health  # liveness; no sensitive diagnostics
GET /ready   # database + writable application storage
GET /api/status  # preview version and SAPI

Developer preview — benchmark claims require reproducible evidence.

Explore the architecture