Skip to content

Commit e9058ee

Browse files
committed
General: Increase the minimum supported version of PHP to 7.4.
Props justlevine, masteradhoc, samiamnot, matt, bradshawtm, 4thhubbard, desrosj, jorbin, westonruter, peterwilsoncc, johnbillion Fixes #62622 git-svn-id: https://develop.svn.wordpress.org/trunk@61459 602fd350-edb4-49c9-b593-d223f7449a82
1 parent bc567fd commit e9058ee

26 files changed

+37
-507
lines changed

.github/workflows/install-testing.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Confirms that installing WordPress using WP-CLI works successfully.
22
#
33
# This workflow is not meant to test wordpress-develop checkouts, but rather tagged versions officially available on WordPress.org.
4+
#
5+
# This workflow is triggered for all WordPress versions that are currently receiving security updates. It therefore needs to
6+
# retain support for older PHP and database versions.
47
name: Installation Tests
58

69
on:

.github/workflows/local-docker-environment.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -106,11 +106,6 @@ jobs:
106106
- db-version: '9.2'
107107
- db-version: '9.3'
108108
- db-version: '9.4'
109-
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
110-
- php: '7.2'
111-
db-version: '9.5'
112-
- php: '7.3'
113-
db-version: '9.5'
114109
# No PHP 8.5 + Memcached support yet.
115110
- php: '8.5'
116111
memcached: true

.github/workflows/phpunit-tests.yml

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ jobs:
7272
fail-fast: false
7373
matrix:
7474
os: [ ubuntu-24.04 ]
75-
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
75+
php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
7676
db-type: [ 'mysql' ]
7777
db-version: [ '5.7', '8.0', '8.4' ]
7878
tests-domain: [ 'example.org' ]
@@ -149,7 +149,7 @@ jobs:
149149
fail-fast: false
150150
matrix:
151151
os: [ ubuntu-24.04 ]
152-
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
152+
php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
153153
db-type: [ 'mariadb' ]
154154
db-version: [ '5.5', '10.3', '10.5', '10.6', '10.11', '11.4', '11.8' ]
155155
multisite: [ false, true ]
@@ -201,19 +201,14 @@ jobs:
201201
fail-fast: false
202202
matrix:
203203
os: [ ubuntu-24.04 ]
204-
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
204+
php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
205205
db-type: [ 'mysql', 'mariadb' ]
206206
db-version: [ '9.5', '12.0' ]
207207
multisite: [ false, true ]
208208
memcached: [ false ]
209209
db-innovation: [ true ]
210210

211211
exclude:
212-
# MySQL 9.0+ will not work on PHP <= 7.3 because mysql_native_password was removed. See https://core.trac.wordpress.org/ticket/61218.
213-
- php: '7.2'
214-
db-version: '9.5'
215-
- php: '7.3'
216-
db-version: '9.5'
217212
# Exclude version combinations that don't exist.
218213
- db-type: 'mariadb'
219214
db-version: '9.5'
@@ -248,7 +243,7 @@ jobs:
248243
strategy:
249244
fail-fast: false
250245
matrix:
251-
php: [ '7.2', '7.4', '8.0', '8.4' ]
246+
php: [ '7.4', '8.0', '8.4' ]
252247
db-type: [ 'mysql' ]
253248
db-version: [ '8.4' ]
254249
phpunit-test-groups: [ 'html-api-html5lib-tests' ]
@@ -277,7 +272,7 @@ jobs:
277272
strategy:
278273
fail-fast: false
279274
matrix:
280-
php: [ '7.2', '8.4' ]
275+
php: [ '7.4', '8.4' ]
281276
db-version: [ '8.4', '11.8' ]
282277
db-type: [ 'mysql', 'mariadb' ]
283278
multisite: [ false ]

.github/workflows/reusable-upgrade-testing.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,6 @@ jobs:
7575
--health-retries="5"
7676
-e MYSQL_ROOT_PASSWORD="root"
7777
-e MYSQL_DATABASE="test_db"
78-
--entrypoint sh ${{ inputs.db-type }}:${{ inputs.db-version }}
79-
-c "exec docker-entrypoint.sh mysqld${{ inputs.db-type == 'mysql' && contains( fromJSON('["7.2", "7.3"]'), inputs.php ) && ' --default-authentication-plugin=mysql_native_password' || '' }}"
8078
8179
steps:
8280
- name: Set up PHP ${{ inputs.php }}

.github/workflows/upgrade-develop-testing.yml

Lines changed: 4 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -63,20 +63,12 @@ jobs:
6363
fail-fast: false
6464
matrix:
6565
os: [ 'ubuntu-24.04' ]
66-
php: [ '7.2', '8.4' ]
66+
php: [ '7.4', '8.4' ]
6767
db-type: [ 'mysql' ]
6868
db-version: [ '5.7', '8.4' ]
69-
# WordPress 4.9 is the oldest version that supports PHP 7.2.
70-
wp: [ '4.9', '6.7', '6.8', '6.9-RC1' ]
69+
# WordPress 5.3 is the oldest version that supports PHP 7.4.
70+
wp: [ '5.3', '6.7', '6.8', '6.9-RC1' ]
7171
multisite: [ false, true ]
72-
73-
exclude:
74-
# The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
75-
- php: '7.2'
76-
db-version: '8.4'
77-
# WordPress 4.9 does not support PHP 8.4.
78-
- php: '8.4'
79-
wp: '4.9'
8072
with:
8173
os: ${{ matrix.os }}
8274
php: ${{ matrix.php }}
@@ -98,17 +90,11 @@ jobs:
9890
fail-fast: false
9991
matrix:
10092
os: [ 'ubuntu-24.04' ]
101-
php: [ '7.2', '8.4' ]
93+
php: [ '7.4', '8.4' ]
10294
db-type: [ 'mysql' ]
10395
db-version: [ '8.4' ]
104-
# WordPress 4.9 is the oldest version that supports PHP 7.2.
10596
wp: [ '6.7', '6.8' ]
10697
multisite: [ false, true ]
107-
108-
exclude:
109-
# The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
110-
- php: '7.2'
111-
db-version: '8.4'
11298
with:
11399
os: ${{ matrix.os }}
114100
php: ${{ matrix.php }}

.github/workflows/upgrade-testing.yml

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -68,23 +68,11 @@ jobs:
6868
fail-fast: false
6969
matrix:
7070
os: [ 'ubuntu-24.04' ]
71-
php: [ '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
71+
php: [ '7.4', '8.0', '8.1', '8.2', '8.3', '8.4', '8.5' ]
7272
db-type: [ 'mysql' ]
7373
db-version: [ '5.7', '8.0', '8.4', '9.5' ]
7474
wp: [ '6.7', '6.8' ]
7575
multisite: [ false, true ]
76-
77-
exclude:
78-
# The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
79-
- php: '7.2'
80-
db-version: '8.4'
81-
- php: '7.3'
82-
db-version: '8.4'
83-
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
84-
- php: '7.2'
85-
db-version: '9.5'
86-
- php: '7.3'
87-
db-version: '9.5'
8876
with:
8977
os: ${{ matrix.os }}
9078
php: ${{ matrix.php }}
@@ -105,16 +93,11 @@ jobs:
10593
fail-fast: false
10694
matrix:
10795
os: [ 'ubuntu-24.04' ]
108-
php: [ '7.2', '7.4', '8.0', '8.4' ]
96+
php: [ '7.4', '8.0', '8.4' ]
10997
db-type: [ 'mysql' ]
11098
db-version: [ '5.7', '8.4' ]
11199
wp: [ '6.0', '6.3', '6.4', '6.5' ]
112100
multisite: [ false, true ]
113-
114-
exclude:
115-
# The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
116-
- php: '7.2'
117-
db-version: '8.4'
118101
with:
119102
os: ${{ matrix.os }}
120103
php: ${{ matrix.php }}
@@ -124,7 +107,7 @@ jobs:
124107
new-version: ${{ inputs.new-version && inputs.new-version || 'latest' }}
125108
multisite: ${{ matrix.multisite }}
126109

127-
# Tests 5.x releases where the WordPress database version changed on the oldest and newest supported versions of PHP 7.
110+
# Tests 5.x releases where the WordPress database version changed on the only supported version of PHP 7.
128111
upgrade-tests-wp-5x-php-7x-mysql:
129112
name: ${{ matrix.wp }} to ${{ inputs.new-version && inputs.new-version || 'latest' }}
130113
uses: ./.github/workflows/reusable-upgrade-testing.yml
@@ -135,16 +118,11 @@ jobs:
135118
fail-fast: false
136119
matrix:
137120
os: [ 'ubuntu-24.04' ]
138-
php: [ '7.2', '7.4' ]
121+
php: [ '7.4' ]
139122
db-type: [ 'mysql' ]
140123
db-version: [ '5.7', '8.4' ]
141124
wp: [ '5.0', '5.1', '5.3', '5.4', '5.5', '5.6', '5.9' ]
142125
multisite: [ false, true ]
143-
144-
exclude:
145-
# The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
146-
- php: '7.2'
147-
db-version: '8.4'
148126
with:
149127
os: ${{ matrix.os }}
150128
php: ${{ matrix.php }}
@@ -199,23 +177,11 @@ jobs:
199177
fail-fast: false
200178
matrix:
201179
os: [ 'ubuntu-24.04' ]
202-
php: [ '7.2', '7.3', '7.4' ]
180+
php: [ '7.4' ]
203181
db-type: [ 'mysql' ]
204182
db-version: [ '5.7', '8.0', '8.4', '9.5' ]
205183
wp: [ '4.7' ]
206184
multisite: [ false, true ]
207-
208-
exclude:
209-
# The PHP <= 7.3/MySQL 8.4 jobs currently fail due to mysql_native_password being disabled by default. See https://core.trac.wordpress.org/ticket/61218.
210-
- php: '7.2'
211-
db-version: '8.4'
212-
- php: '7.3'
213-
db-version: '8.4'
214-
# MySQL 9.0+ will not work on PHP 7.2 & 7.3. See https://core.trac.wordpress.org/ticket/61218.
215-
- php: '7.2'
216-
db-version: '9.5'
217-
- php: '7.3'
218-
db-version: '9.5'
219185
with:
220186
os: ${{ matrix.os }}
221187
php: ${{ matrix.php }}

.version-support-php.json

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
{
22
"7-0": [
3-
"7.2",
4-
"7.3",
53
"7.4",
64
"8.0",
75
"8.1",

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"require": {
1414
"ext-hash": "*",
1515
"ext-json": "*",
16-
"php": ">=7.2.24"
16+
"php": ">=7.4"
1717
},
1818
"suggest": {
1919
"ext-dom": "*"

docker-compose.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,6 @@ services:
7979
- ./tools/local-env/mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql
8080
- mysql:/var/lib/mysql
8181

82-
# For compatibility with PHP versions that don't support the caching_sha2_password auth plugin used in MySQL 8.0.
83-
command: ${LOCAL_DB_AUTH_OPTION-}
84-
8582
healthcheck:
8683
test: [
8784
'CMD-SHELL',

phpcompat.xml.dist

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@
6666

6767
<rule ref="PHPCompatibilityWP"/>
6868

69-
<!-- WordPress Core currently supports PHP 7.2+. -->
70-
<config name="testVersion" value="7.2-"/>
69+
<!-- WordPress Core currently supports PHP 7.4+. -->
70+
<config name="testVersion" value="7.4-"/>
7171

7272
<!--
7373
#############################################################################

0 commit comments

Comments
 (0)