Legacy PHP Support
Support for old PHP applications that still run the business: custom code, ageing frameworks and unsupported PHP versions, kept safe and changeable without a forced rewrite.
Legacy PHP is usually a business process in code form
An old PHP application often looks untidy: includes inside includes, SQL in templates, functions copied between files. But it usually also contains years of business rules that nobody wrote down anywhere else: how prices are rounded, which customers get which terms, what happens when stock goes negative. That knowledge is the valuable part, and it is exactly what a hasty rewrite tends to lose.
Legacy PHP support starts from respect for what the system does, and then makes it safe to own. This page is about keeping an existing system healthy. If you have already decided to move to Laravel, see legacy PHP to Laravel.
What legacy PHP support covers
- Getting control. Source code in a proper repository, server and database access in the business’s name, scheduled jobs and integrations listed.
- Reproducibility. A local copy that runs, so changes can be tested before they reach production.
- Security basics. Patching, removing debug output, checking how passwords and payment data are handled, and closing obvious injection risks.
- Error visibility. Logging and alerts, so problems are found by the business rather than by customers.
- Careful changes. Fixes and new features with tests around the behaviour that must not change.
- A version plan. Old PHP versions stop receiving security fixes and hosts eventually remove them. See PHP upgrade.
Three possible paths
Support as it is
For stable systems that change rarely: patched, monitored and documented, with changes made carefully when needed. Often the most cost-effective choice.
Upgrade in place
For systems that need to stay but must move to a supported PHP version, update dependencies and tidy the worst areas. The application keeps its shape but becomes safer.
Gradual modernisation
For systems that change often or block the business. New Laravel code is introduced around the parts that change most, while the old code keeps running. This is slower to describe and faster to deliver than a big-bang rewrite.
Lessons from long-lived systems
The published case studies include systems much older than most PHP code. One involved a 30-year-old ERP that kept its business logic intact while gaining a modern web interface. Another added two-way SMS to a legacy ERP through a queue, so the core system never waited on a third party. Neither was PHP-specific, but the approach is the same: protect what works, wrap it, and change it in steps.
Signs your PHP application needs attention now
- It runs on a PHP version that no longer receives security fixes.
- Only one person knows how to deploy it, and they are not always available.
- There are no recent backups that anyone has tested.
- Errors are discovered when customers phone.
- Small changes take weeks because everyone is afraid to touch it.
If several of those apply, a short code audit or a takeover is the sensible first step. To discuss it, see hire a PHP developer or use the form below.
Process
- Inventory Code, servers, scheduled jobs, databases and the accounts that control them.
- Make it reproducible A local copy that runs, and backups proven by a restore.
- Stabilise Security patches, error logging, the obvious risks closed.
- Agree the path Support as-is, upgrade in place, or gradual move to Laravel.
Questions that usually come up
Do we have to rewrite our old PHP application?
Usually not, and rarely as a first step. Most legacy systems can be stabilised, upgraded and improved in place. A gradual move to Laravel is possible when there is a good reason.
Can you support PHP 5 or PHP 7 code?
Yes, including code that has never used a framework. Running unsupported PHP versions is a risk, so an upgrade plan normally follows.
There is no documentation. Is that a problem?
It is normal. Writing down how the system actually runs is one of the first deliverables.
Can you work with code written by several different developers?
Yes. Inconsistent code from several hands is the usual state of a legacy system, not an exception.
How is legacy support priced?
Usually a short discovery in day blocks, then either fixed-scope work or a monthly retainer. See PHP developer rates.
Qualification
Get help with a legacy PHP application
Name, work email, and a short description of the application is enough. No discovery call theatre before I know whether I can actually help.
- UK businesses with a real Laravel (or legacy PHP) application
- Build, support, rescue, upgrade or integration work
- Reply from Oliver Burton, usually within one working day