Article
PHP 7 to PHP 8 Migration Checklist
A concise gate checklist for moving PHP 7 applications onto PHP 8.x before flipping production FPM pools.
Use this page as a release gate. For explanations, code samples, and breaking-change narratives, follow the deep guide PHP 7 to PHP 8 migration. Official notes start at migration80.
Preflight
- □ Inventory SAPIs (FPM, CLI, cron) and extension lists match across environments
- □ Composer
platform.phpset to the intended 8.x minor (prefer a supported branch: 8.2–8.5 as of 2026-08-09) - □ Scan with compatibility checker and deprecated checker
- □ Grep for removed APIs:
each(,create_function(,money_format(,get_magic_quotes, old constructors
Code readiness
- □ PHPUnit / integration suite green on PHP 8 in CI
- □ PHPStan/Psalm level raised;
@handlers updated for non-zeroerror_reportingmasks - □ Null passed into internal non-nullable parameters cleaned (8.1 deprecations)
- □ Dynamic properties inventoried if targeting 8.2+
- □ Named arguments / attributes adopted only after baseline boot succeeds
Runtime & deploy
- □ Docker/base images, Ansible, and panel selectors updated together
- □ OPcache validated; JIT left off unless measured for your workload
- □ Xdebug 3 path maps verified on staging
- □ Rollback image tagged and tested
- □ 24–48h error-rate watch after cutover
Also see 7.4 → 8.x and migration center.
Related reading
- Composer Modernization Center Add Composer to legacy PHP projects, migrate includes to autoloading, set platform constraints, and replace a…
- PHP 5 to Modern PHP: Complete Incremental Migration Guide A deep, production-minded path from PHP 5.x codebases to supported PHP 8.x: removed extensions, charset, PDO,…
- PHP Security Modernization for Legacy Applications Upgrade inherited PHP security practices: prepared statements, password hashing, sessions, CSRF, XSS escaping…
- PHP 7 to PHP 8 Migration Guide Deep guide to PHP 8.0 breaking changes that matter for PHP 7 applications, with upgrade tactics through suppo…
- Inheriting a Legacy PHP Application A first-30-days playbook for developers handed an unfamiliar PHP codebase: runtime truth, risk triage, and sa…