PHP 7.4 is coming to an end of life. What do we do?

  • 12 minute read

PHP. 7.4 is coming to an end of life on October 2022. You have a few options to keep your application secure.

Option One: Acquia PHP LTS (Long Term Support)

Due to end of security compliance for PHP 7.4, Acquia is offering the option to purchase extended Long-Term Support for PHP 7.4 for Cloud Platform Enterprise, Acquia Site Factory applications, and Cloud Platform Professional applications in an effort to provide additional time for our customers to make the transition to a supported version of Drupal and to PHP 8.x.

Scope of subscription agreement:

  • LTS = Long Term Support
  • Continues providing a supported PHP 7.4 runtime environment beyond community level maintenance and security coverage
  • Does not introduce a new capability
  • Does not require migration, but does require entitlement
  • Customer entitlement to retain access to PHP 7.4 through Cloud UI
  • PHP 7.4 LTS is a subscription level entitlement
  • Security coverage of PHP 7.4 according to our Security Patch Management policy
  • LTS covers the php packages only and not the continued compatibility with PHP 7.4 of Acquia products. PHP 7.4 compatibility of Acquia open source projects including Acquia CLI, Acquia CMS and Acquia BLT are subject to upstream community dependencies and are not covered by the PHP 7.4 LTS offering.
  • Products built on the PHP language use 3rd-party libraries that may drop support for PHP 7.4 outside of our control (e.g. Guzzle, PHP Unit) and not covered.

Option Two: PHP Upgrade Service with Acquia Professional Services

The PHP Upgrade Service will upgrade your Acquia hosted Drupal application to Drupal Core to 7.79, upgrade your Cloud Development environment to PHP 8.x and provide steps for deploying the upgraded application. 

Scope of Services:

  • Customers shall provide Acquia with an administrative login to the Code Base to be upgraded, and have a technical point of contact familiar with their application.
  • Acquia will review Customer’s application and provide a report of PHP upgrade compatibility.
  • Acquia will set up a developer workspace for local development and testing
  • Acquia will provide minor code updates as time allows for PHP upgrade  
  • Acquia will update Customer's PHP version in Cloud UI on the development non prod environment.
  • Acquia will provide steps for the Customer to deploy the upgraded application to the Production environment.

Acquia will deliver the PHP Upgrade service over the course of 1-3 weeks depending on Drupal Core Version. The services will be delivered by an Acquia Technical Consultant and the services will be delivered remotely.

Option Three: Future State Evaluation and Planning Professional Services

Along with your PHP upgrade are you thinking about updating your site, but don't know where to start? Redesign your website upgrade with a plan. Are you considering changing your frontend architecture or reducing technical debt as part of your upgrade?  During this workshop an Acquia Technical consultant will work with your team to evaluate your current website, provide best practices, and recommendations on how to redesign your site and be ready to upgrade. Leverage what you already have while taking advantage of modern web application capabilities. By the end of this workshop you will have an executable report plan to help guide your application to the desired future state. 

Scope of Services:

  • Current state: High-level review of current functional, architectural, and infrastructure state
  • Goals: Discuss the customer’s future functional, architectural, and infrastructure goals. These goals will be broken up into short-term and long-term goals
  • Demos: See demos of modern web design capabilities like Site Studio, personalization or decoupled headless applications
  • Report: Acquia will deliver a Future Planning Report that includes our audit findings, Acquia recommendations for improvement, and a high-level estimation project plan.

Option Four: Acquia Professional Services can do a site upgrade/rebuild for you

Drupal 7 and Drupal 8 sites require you upgrade your Drupal Core version for PHP 8.0 compatibility. Do you need help with your Drupal Core upgrade? Acquia Professional Services can help. Acquia Professional Services can provide the resources to do the entire upgrade, take part in a co-development partnership, or provide consultation and guidance for each phase of your upgrade.

Moving from Drupal Core 7 or 8 to Drupal Core 9 takes several steps. Breaking down the parts needed to upgrade a Drupal application is crucial when architecting your platform for long term success. 

Drupal upgrades can be split into the following phases: 

  • Future Planning / Architecture workshop: Acquia will use its expert knowledge to evaluate your Drupal application for readiness to update to the latest version of  Drupal core. This review will start with a current state review and work with your team to determine areas to improve editorial efficiencies, reduce technical debt and modernize your frontend framework. 
  • Content migration: Drupal 7 Applications require content migration. Drupal 9 applications do not. If you have a D7 application Acquia will set up Acquia Migrate Accelerate and migrate all of your content into your new latest version of Drupal Core environment. This will not affect your currently live Drupal site. While your team conducts user acceptance testing on the migrated content, Acquia’s development team will continue to work through phase two. 
    • Content Freeze with duplicating content in both D7 and D9 sites.
  • Frontend Theme Rebuild / Deprecated Code Clean up / PHP Upgrade: Drupal 9’s frontend framework provides a modern approach to design. This requires more time to rebuild templates and other frontend components or code with a frontend developer. There are no tools to automatically do the frontend part of the upgrade. Our frontend developers will use their expertise to ensure your frontend theme works as expected. The backend developers will also clean up deprecated code and upgrade the PHP version to keep your application secure and up to date.  
    • Option one: Theme rebuild using TWIG 
    • Option two: Site Studio Rebuild 
    • Option three: Decoupled Frontend architecture 
  • Launch Readiness: Acquia experts will provide a security audit, performance testing. Acquia Launch Readiness combines a Security Audit, Performance Audit, and Load Testing (up to 3 tests for 5000 users each). Acquia Launch Readiness is designed to help ensure that the Customer’s Drupal application is ready for launch on the Acquia Platform. The scope of Launch Readiness includes:
    • Drupal site performance audit: Traffic analysis, performance and scalability assessment, module review.
    • Application profiling: Performance benchmarking via automated testing.
    • Customer expectations: Acquia will engage Customer to determine security expectations and potential risks.
    • Drupal update status & static analysis: Review modules for Customer update status and identify those that have security updates available. Acquia will analyze the modules for Drupal best coding practices.
    • Drupal configuration security practices: Drupal configuration review of user roles and permissions and other areas that are prone to insecure configuration.
    • Custom module & theme walkthrough: If custom modules or themes are included, Acquia will conduct code walkthroughs with Customer to review the security and their implementation against the best security practices and identify potential risks.
  • Production Launch: Acquia can include a 2-week sprint after Final User Acceptance Testing to address issues identified during Launch Readiness and Final UAT and to help assist in the execution of the site launch.  A technical resource can review a launch checklist and provide assistance during the site launch. The Customer is still responsible for any DNS change requirements. 
  • Consulting and Training: Additional development hours, consulting or training can be provided as a Change Request or separate SOW. Below are a few trainings we recommend: 
  • Ongoing Development and Future Security Updates 
    • Cloud IDEs: Cloud Based development environment
    • Code Studio: Continuous integration product to help automate keeping your application up to date

 

What can you do right now?

One: D7 customers can request a Flight Path report from your Account Manager 
The Acquia Migrate D9 Flight Path Assessment is an automated report that will analyze your D7 current application’s readiness to upgrade to the latest version of Drupal core. The flight path report helps you identify key upgrades and migration scope by ​​taking stock of your content, data, frontend displays and modular functionality. Learn more about flight path from the WEBINAR STEP ONE TOWARDS YOUR MIGRATION TO DRUPAL 9: FREE FLIGHT PATH ASSESSMENT webinar.

Two: Install Upgrade Status 
Upgrade Status is a Drupal module that can provide more information about your current place and support for upgrading to Drupal 9

Three: Audit content and text formats 
Review your content types and text formats. It is recommended that you do not use PHP or code inside of your fields. If you are using PHP code inside of your database fields you should consider removing it before or flagging it before an upgrade to remove afterwards. 

Four: Audit views
Consider reducing views you don’t need and take a look at the Views migration from Drupal 7 to Drupal 9 module to help migrate. Some views might need to be rebuilt by hand. 

Five: Review custom code and features for PHP Compatibility
Custom modules and features need to be reviewed for PHP compatibility. You can use a code sniffer like https://github.com/PHPCompatibility/PHPCompatibility to identify code that has been deprecated and needs to be updated. There is also  Drupal 7 to 8/9 Module Upgrader can help to automate some of this task, but manual intervention will still be required.

Six: Upgrade everything to the latest version of D7 projects and review known upgrade issues. You can check the known upgrade issue page

Seven: Review frontend and page building elements.
Drupal 9 uses twig templates instead of PHP templates. You will need to manually rebuild your theme templates and functions after the migration.

Eight: Ask your account manager for the PHP LTS
Get ahead of the October deadline by asking your account manager to add PHP LTS to your subscription when you need it. 

The bottom line is you have options and you are not alone. Reach out to your account manager today to see how Acquia can help support you in keeping your application secure and up to date.