At present we have core's 7.x branch set up to run automated tests with the following configs:
PHP 5.3 & MySQL 5.5
PHP 5.4 & MySQL 5.5
PHP 5.5 & MySQL 5.5
PHP 5.6 & MySQL 5.5
PHP 7.1 & MySQL 5.5
PHP 7.2 & MySQL 5.5
PHP 7 & MySQL 5.5 issue testing default
We need to review and update this.
For new versions of PHP and MySQL:
- When the branch passes under PHP 7.3 we should add that. See: #3012308: D7: Fully support PHP 7.3
- When the PHP 7.4 is released, and the branch passes we should add that. See: #3081386: [META] Fully support PHP 7.4 in Drupal 7
- When the branch passes with MySQL 8 we should add that. See: #2978575: Mysql 8 Support on Drupal 7
According to https://www.drupal.org/docs/7/system-requirements/php-requirements :
The minimum recommended PHP version for Drupal 7 is PHP 7.1.x (until it's official end-of-life at 1 Dec, 2019).
So we should update the issue testing default to PHP 7.1, and probably change that again to PHP 7.2 after 7.1's EOL.
According to https://www.php.net/supported-versions.php all versions of PHP 5 are now EOL, and so is PHP 7.0. Do we need to keep any of these enabled in our automated testing? Probably yes in at least some cases. For reference, D8 still has PHP 5.5, 5.6 and 7.0 enabled.
For MySQL, https://www.drupal.org/docs/7/system-requirements/database-server seems quite out-of-date for Drupal 7 - it mentions:
Drupal 7 supports MySQL 5.0.15/MySQL 5.1.30/MariaDB 5.1.44/Percona Server 5.1.70 or higher
https://en.wikipedia.org/wiki/MySQL#Release_history suggests that MySQL 5.5 is now EOL.
What versions of MySQL 5.x should we be testing against? D8 still has 5.5 enabled, but different branches also have combinations of 5.6 and 5.7 enabled.