D9 to PHP8


  • Update core and modules on multidev
  • Create php8 multidev
  • Update php8 on multidev
  • Test, troubleshoot, merge to dev

Update core and modules

This step should be done the same way we do it normally. Please review the detailed procedures before you follow the abbrieviated procedures below. To see the detailed procedures go to Update to Drupal 9 sites.

Step 1. Commit pending SFTP changes on DEV as appropriate.

Step 2. Pull database and files back from LIVE to DEV. (Before you do this review the commit log and look on dev under content to see if anyone has been working on it lately. If it looks like someone has recently been working on this site skip this step and DO NOT pull live back to dev.)

Step 3. Backup DEV

Step 4. Review DEV for updates and errors

Step 5. Run git pull

Step 6. Run ahoy total-update

Step 7. Run ahoy status

Step 8. Review outdated modules against the "Do Not Update" list and update modules as appropriate.

Step 9. Run ahoy sendup "<module update comments>" 

Step 10. (wait for Pantheon Dashboard workflow to finish) run ahoy dbcc dev

***or use terminus drush <site>.dev -- updb && terminus drush <site>.dev -- cr

Step 11. Test DEV. Check the DEV Admin >> Reports >> Status reports for errors.

Create Multidev

Step 1. Backup Dev

Step 2. Check dev admin>reports>recent log messages for the types of errors you are seeing.

Step 3. Make multidev called php8

Update to PHP 8

Step 1. Git pull in master

Step 2. Git checkout php8

Step 3. Add a pantheon.yml file at the root of the site if it’s not there already

  1. If it’s there, add/change php_version to 8.0
  2. If it’s not, add two lines without the line numbering

api_version: 1
php_version: 8.0

Step 4. Save

Step 5. ahoy total-update

Step 6. ahoy sendup

Step 7. ahoy dbcc php8

Test, Troubleshoot, and Merge

Step 1. Go to the php8 website

Step 2. Clear the report logs on the admin>reports>recent log message

Step 3. Test a bunch 

  • Open a basic page and make an edit to body, change menu position, save.
  • Open a view and make a change and save.
  • Open a person and change their role and save.

Step 4. Look in the report logs for errors

Step 5. Verify with Sam if you’re unsure

Step 6. Merge changes with Dev if all looks good

Step 7. Update the spreadsheet (make sure you up the core version update column and the php8 column