Migrate LMS PHP 5.5→8.5
Budget / SalaryA$1,500–3,000
TypeFreelance project
LocationRemote
Posted1 hour ago
I need help bringing a large, legacy learning-management system—well over 50,000 lines of plain PHP 5.5—up to PHP 8.5. The application was written without any framework, and there are currently no automated tests in place, so great care is required to safeguard existing behaviour while removing deprecated syntax and functions.
Scope of work
• Audit the entire codebase to identify breaking changes between 5.5 and 8.x (e.g. removed extensions, changed default error levels, new reserved keywords, strict typing requirements).
• Refactor or rewrite affected files, replacing mysql_* calls, create_function, each(), and similar deprecated patterns with modern equivalents (PDO, anonymous functions, foreach, etc.).
• Introduce namespacing and autoloading where it lowers maintenance risk, but keep overall architecture intact so that front-end templates and admin tools continue to run unmodified.
• Set up a minimal but effective test harness (PHPUnit or Pest) to capture core user flows—enrolment, course completion, reporting—so that future upgrades are less risky.
• Deliver the upgraded codebase ready to run under PHP 8.5 with error-reporting set to E_ALL and zero warnings.
Acceptance criteria
1. Application installs and operates on PHP 8.5 with all existing features functioning as in production.
2. No deprecated-function notices, warnings or fatal errors in error logs after one hour of typical usage.
3. A basic automated test suite covering at least the critical user journeys, runnable via CLI with a single command.
4. Clear upgrade report outlining every major change, new library introduced, and any areas that still require manual QA.
I’ll provide full repository access, database dump and a brief walkthrough of complex modules. If you’ve modernised large procedural PHP systems before and can keep downtime minimal, I’d love to hear how you’d tackle it and a realistic timeframe for completion.
Scope of work
• Audit the entire codebase to identify breaking changes between 5.5 and 8.x (e.g. removed extensions, changed default error levels, new reserved keywords, strict typing requirements).
• Refactor or rewrite affected files, replacing mysql_* calls, create_function, each(), and similar deprecated patterns with modern equivalents (PDO, anonymous functions, foreach, etc.).
• Introduce namespacing and autoloading where it lowers maintenance risk, but keep overall architecture intact so that front-end templates and admin tools continue to run unmodified.
• Set up a minimal but effective test harness (PHPUnit or Pest) to capture core user flows—enrolment, course completion, reporting—so that future upgrades are less risky.
• Deliver the upgraded codebase ready to run under PHP 8.5 with error-reporting set to E_ALL and zero warnings.
Acceptance criteria
1. Application installs and operates on PHP 8.5 with all existing features functioning as in production.
2. No deprecated-function notices, warnings or fatal errors in error logs after one hour of typical usage.
3. A basic automated test suite covering at least the critical user journeys, runnable via CLI with a single command.
4. Clear upgrade report outlining every major change, new library introduced, and any areas that still require manual QA.
I’ll provide full repository access, database dump and a brief walkthrough of complex modules. If you’ve modernised large procedural PHP systems before and can keep downtime minimal, I’d love to hear how you’d tackle it and a realistic timeframe for completion.
Apply on Freelancer →
Project sourced from Freelancer.com. Applications happen directly on the original platform — we never collect your data.