Developer documentation for the lightweight, PHP-FPM-oriented Bhitti framework.
Bhitti is designed for normal PHP-FPM deployments while keeping broad PHP hosting compatibility. The deployment platform is an application-owner decision; Bhitti does not require a particular web server or cloud provider.
Point the public web root at:
/path/to/project/public
Do not expose .env, config/, storage/, or application source files as public web content.
APP_DEBUG=false
BASE_URL=https://example.com
SESSION_SECURE=true
Set database/cache/session credentials through the environment.
The current application Composer configuration resolves the framework from the sibling path ../bhitti-framework. Ensure that source is available to Composer during deployment, or adjust your Composer repository strategy for your release process.
Then install production dependencies and optimize autoloading:
composer install --no-dev --optimize-autoloader
Run migrations explicitly:
php run migrate --force
Run seeders only when the deployment requires the registered seed data:
php run db:seed
php run config:cache
php run route:cache
Generated files:
storage/cache/config.cache.php
storage/cache/route.cache.php
Ensure the PHP process can write the required storage/cache directories.
Redis connections are lazy and can use persistent PHP-FPM sockets. Memcached uses a shared request-local manager and a configured persistent ID. PDO persistence is opt-in rather than forced.
Measure your own workload before changing pool sizes, database persistence, Redis profiles, or cache drivers.
When running behind trusted infrastructure, configure exact proxy IPs or CIDR ranges:
TRUSTED_PROXIES=10.0.0.0/8,172.16.0.0/12
Do not trust public/uncontrolled address ranges.