Behavioural Senior Level

How do you deploy a Symfony application to production? Discuss cache warmup, environment variables, asset compilation, and zero-downtime strategies.

Quick Tip

Show a complete pipeline: "Deploy to a new release directory, run composer install and cache warmup, run migrations, swap the symlink, then clear OPcache. Shared directories for uploads and var/log persist across releases."

What good answers include

Deployment steps: install dependencies (composer install --no-dev --optimize-autoloader), run migrations (doctrine:migrations:migrate), warm the cache (cache:warmup --env=prod), compile assets (asset-map:compile or encore/webpack), and sync static files. Zero-downtime: deploy to a new directory, run all build steps, then atomically swap the symlink. Tools: Deployer, Ansistrano, or custom scripts. Strong candidates discuss: the importance of APP_ENV=prod and APP_DEBUG=0, using real environment variables instead of .env in production, OPcache preloading, shared directories for uploads and logs across releases, and health check endpoints for load balancers.

What interviewers are looking for

Senior operational question. Candidates who deploy by FTPing files and clearing cache manually will cause downtime. Those who understand atomic deployments, cache warming, and shared resources deploy reliably.

← All Symfony questions