PHP in 2026 is faster than its reputation
PHP gets dismissed, but PHP 8.x with the JIT and OPcache is fast, and the ecosystem (Laravel, Symfony, WordPress, and a mountain of plain PHP) is enormous. The hosting question isn't "should I use PHP" — plenty of people are — it's "how do I host it correctly."
The production runtime model:
- PHP-FPM (FastCGI Process Manager) runs your PHP workers.
- A web server (Nginx or Apache) forwards requests to FPM.
- OPcache caches compiled bytecode — non-negotiable for production performance.
- Optionally a long-running server (FrankenPHP, RoadRunner, or Swoole via Laravel Octane) for higher throughput.
Don't use PHP's built-in php -S server in production; it's for development.
Two hosting philosophies
| Managed PHP host | Container PHP | |
|---|---|---|
| Setup | Stack handled for you | You build the image |
| Control | Less | Full (PHP version, extensions, server) |
| Best for | WordPress, classic apps | Modern frameworks, custom needs |
| Examples | Kinsta, Cloudways, SiteGround | Fly, Render, Railway, PandaStack |
Classic managed PHP hosts give you a comfortable, supported LAMP/LEMP environment — great for WordPress and traditional sites. Container hosts give you control over exactly which PHP version, extensions, and server you run — better for modern framework apps you want reproducible.
The platforms
Managed PHP/WordPress hosts (Kinsta, Cloudways, SiteGround)
These handle the stack, updates, caching, and often backups and staging. For WordPress and traditional PHP sites where you don't want to think about FPM tuning, they're a strong, well-supported choice. The trade-off is less control and a less git-push-native workflow.
Render, Railway, Fly
Modern PaaS that run PHP containers on push, with managed MySQL/Postgres and Redis available. You define the Docker image (or use their PHP support), giving you control with reasonable simplicity.
Platform.sh
Purpose-built for PHP frameworks with a strong Symfony/Drupal heritage, git-driven environments, and per-branch staging. A good fit for teams that want opinionated, framework-aware infrastructure.
PandaStack
My platform. PandaStack runs PHP as a container app — you bring a Dockerfile so you control the PHP version, extensions, and server (FPM+Nginx, or FrankenPHP/RoadRunner for long-running):
FROM php:8.3-fpm
RUN docker-php-ext-install pdo pdo_mysql opcache
COPY docker/opcache.ini /usr/local/etc/php/conf.d/
WORKDIR /var/www
COPY . .Attach managed MySQL (5.7/8.x) or PostgreSQL (and Redis for sessions/cache) and the connection string is injected. Use cronjobs for scheduled PHP tasks (the cleanest way to handle WP-Cron or a framework scheduler reliably). You also get live logs, custom domains, automatic SSL, and rollbacks.
Honest limits: PandaStack is not a one-click WordPress host — there's no managed-WordPress recipe with auto-updates the way Kinsta/Cloudways provide; you'd containerize WordPress yourself. It's a newer platform, and free-tier apps cold-start on preemptible nodes.
The OPcache settings that matter
; opcache.ini
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=20000
opcache.validate_timestamps=0 ; production: don't stat files every request
opcache.jit=tracing
opcache.jit_buffer_size=64MSetting validate_timestamps=0 means PHP won't check files for changes on every request — a real speedup, but you must clear OPcache (restart FPM) on deploy or you'll serve stale code. That deploy-time cache reset is the classic PHP container gotcha.
FPM tuning quick reference
pm = dynamicfor variable traffic;pm = staticfor predictable high load.pm.max_childrenis bounded bymemory_limitx children fitting in RAM — calculate it, don't guess.- Put
sessionsin Redis under load, not files. - Serve static assets through the web server/CDN, not PHP.
References
- [PHP-FPM documentation](https://www.php.net/manual/en/install.fpm.php)
- [PHP OPcache](https://www.php.net/manual/en/book.opcache.php)
- [PHP deployment best practices](https://www.php.net/manual/en/install.php)
- [FrankenPHP](https://frankenphp.dev/docs/)
- [Nginx + PHP-FPM guide](https://www.nginx.com/resources/wiki/start/topics/examples/phpfcgi/)
---
Running a modern PHP app with MySQL, Redis, and scheduled tasks? PandaStack's free tier covers a container, a managed database, and cronjobs. Deploy at [dashboard.pandastack.io](https://dashboard.pandastack.io).