From 6469e9a1fb99359b7835faeb2a4c08a7502d8527 Mon Sep 17 00:00:00 2001 From: Dave Long <dave@longwaveconsulting.com> Date: Fri, 29 Mar 2024 08:52:44 +0000 Subject: [PATCH] Issue #3413268 by BramDriesen, longwave, Spokje, catch, mondrake, quietone, andypost: Add PHP 8.3 requirement to Drupal 11.0.x --- composer.json | 6 +- composer.lock | 169 +----------------- .../Metapackage/CoreRecommended/composer.json | 1 - .../PinnedDevDependencies/composer.json | 1 - core/INSTALL.txt | 4 +- core/composer.json | 4 +- core/lib/Drupal.php | 4 +- .../Drupal/Component/Annotation/composer.json | 2 +- .../Drupal/Component/Assertion/composer.json | 2 +- .../Component/ClassFinder/composer.json | 2 +- .../Drupal/Component/Datetime/composer.json | 2 +- .../DependencyInjection/composer.json | 2 +- core/lib/Drupal/Component/Diff/composer.json | 4 +- .../Drupal/Component/Discovery/composer.json | 2 +- .../Component/EventDispatcher/composer.json | 2 +- .../Drupal/Component/FileCache/composer.json | 2 +- .../Component/FileSecurity/composer.json | 2 +- .../Drupal/Component/FileSystem/composer.json | 2 +- .../Component/FrontMatter/composer.json | 2 +- .../Drupal/Component/Gettext/composer.json | 2 +- core/lib/Drupal/Component/Graph/composer.json | 2 +- .../Component/HttpFoundation/composer.json | 2 +- .../Drupal/Component/PhpStorage/composer.json | 2 +- .../lib/Drupal/Component/Plugin/composer.json | 2 +- .../Component/ProxyBuilder/composer.json | 2 +- .../lib/Drupal/Component/Render/composer.json | 2 +- .../Component/Serialization/composer.json | 2 +- .../Component/Transliteration/composer.json | 2 +- .../Drupal/Component/Utility/composer.json | 2 +- core/lib/Drupal/Component/Uuid/composer.json | 2 +- .../Drupal/Component/Version/composer.json | 2 +- .../Drupal/Core/Utility/PhpRequirements.php | 2 - core/modules/system/system.install | 13 -- .../Functional/System/PhpRequirementTest.php | 12 +- 34 files changed, 41 insertions(+), 225 deletions(-) diff --git a/composer.json b/composer.json index e676386da3df..914a188cac20 100644 --- a/composer.json +++ b/composer.json @@ -47,7 +47,9 @@ "symfony/polyfill-php73": "*", "symfony/polyfill-php74": "*", "symfony/polyfill-php80": "*", - "symfony/polyfill-php81": "*" + "symfony/polyfill-php81": "*", + "symfony/polyfill-php82": "*", + "symfony/polyfill-php83": "*" }, "minimum-stability": "dev", "prefer-stable": true, @@ -55,7 +57,7 @@ "preferred-install": "dist", "sort-packages": true, "platform": { - "php": "8.1.0" + "php": "8.3.0" }, "allow-plugins": { "composer/installers": true, diff --git a/composer.lock b/composer.lock index 74d95e19bb0f..bd50d7a5dc71 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "479da193f70d9ec14eb448a2d7360a05", + "content-hash": "335c0228fb93c94583fe0750ff7a37ab", "packages": [ { "name": "asm89/stack-cors", @@ -495,7 +495,7 @@ "dist": { "type": "path", "url": "core", - "reference": "45312e105697022dac062ee5a5fd7a4a0ad4162c" + "reference": "be48b81e356839257d4e279060da3dd05a009da1" }, "require": { "asm89/stack-cors": "^2.1", @@ -522,9 +522,9 @@ "masterminds/html5": "^2.7", "mck89/peast": "^1.14", "pear/archive_tar": "^1.4.14", - "php": ">=8.1.0", + "php": ">=8.3.0", "psr/log": "^3.0", - "sebastian/diff": "^4", + "sebastian/diff": "^4|^5", "symfony/console": "^6.4", "symfony/dependency-injection": "^6.4", "symfony/event-dispatcher": "^6.4", @@ -3387,86 +3387,6 @@ ], "time": "2023-07-28T09:04:16+00:00" }, - { - "name": "symfony/polyfill-php83", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-08-16T06:22:46+00:00" - }, { "name": "symfony/process", "version": "v6.4.0", @@ -9378,85 +9298,6 @@ ], "time": "2023-12-01T09:25:07+00:00" }, - { - "name": "symfony/polyfill-php82", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php82.git", - "reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php82/zipball/7716bea9c86776fb3362d6b52fe1fc9471056a49", - "reference": "7716bea9c86776fb3362d6b52fe1fc9471056a49", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php82\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php82/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-08-25T17:27:25+00:00" - }, { "name": "theseer/tokenizer", "version": "1.2.2", @@ -9622,7 +9463,7 @@ "platform": [], "platform-dev": [], "platform-overrides": { - "php": "8.1.0" + "php": "8.3.0" }, "plugin-api-version": "2.6.0" } diff --git a/composer/Metapackage/CoreRecommended/composer.json b/composer/Metapackage/CoreRecommended/composer.json index 1979056e3f2a..a9b40b7cf9cd 100644 --- a/composer/Metapackage/CoreRecommended/composer.json +++ b/composer/Metapackage/CoreRecommended/composer.json @@ -49,7 +49,6 @@ "symfony/polyfill-intl-idn": "~v1.28.0", "symfony/polyfill-intl-normalizer": "~v1.28.0", "symfony/polyfill-mbstring": "~v1.28.0", - "symfony/polyfill-php83": "~v1.28.0", "symfony/process": "~v6.4.0", "symfony/psr-http-message-bridge": "~v6.4.0", "symfony/routing": "~v6.4.1", diff --git a/composer/Metapackage/PinnedDevDependencies/composer.json b/composer/Metapackage/PinnedDevDependencies/composer.json index 755744e6652c..269433bfa47f 100644 --- a/composer/Metapackage/PinnedDevDependencies/composer.json +++ b/composer/Metapackage/PinnedDevDependencies/composer.json @@ -85,7 +85,6 @@ "symfony/dom-crawler": "v6.4.0", "symfony/lock": "v6.4.0", "symfony/phpunit-bridge": "v6.4.1", - "symfony/polyfill-php82": "v1.28.0", "theseer/tokenizer": "1.2.2", "webflo/drupal-finder": "1.2.2", "webmozart/assert": "1.11.0" diff --git a/core/INSTALL.txt b/core/INSTALL.txt index 9e1f2e5a924a..a484cc10793d 100644 --- a/core/INSTALL.txt +++ b/core/INSTALL.txt @@ -15,7 +15,7 @@ QUICKSTART ---------------------- Prerequisites: -- PHP 8.1.0 (or greater) (https://php.net). +- PHP 8.3.0 (or greater) (https://php.net). In the instructions below, replace the version x.y.z with the specific version you wish to download. Example: 8.6.0.zip. You can find the latest stable version @@ -48,7 +48,7 @@ Drupal requires: - A web server with PHP support, for example: - Apache 2.4.7 (or greater) (http://httpd.apache.org/). - Nginx 1.1 (or greater) (http://nginx.com/). -- PHP 8.1.0 (or greater) (http://php.net/). +- PHP 8.3.0 (or greater) (http://php.net/). - One of the following databases: - MySQL 5.7.8 (or greater) (http://www.mysql.com/). - MariaDB 10.3.7 (or greater) (https://mariadb.org/). MariaDB is a fully diff --git a/core/composer.json b/core/composer.json index b3467458517f..af803fa74f15 100644 --- a/core/composer.json +++ b/core/composer.json @@ -17,7 +17,7 @@ "ext-SPL": "*", "ext-tokenizer": "*", "ext-xml": "*", - "php": ">=8.1.0", + "php": ">=8.3.0", "symfony/console": "^6.4", "symfony/dependency-injection": "^6.4", "symfony/event-dispatcher": "^6.4", @@ -47,7 +47,7 @@ "pear/archive_tar": "^1.4.14", "psr/log": "^3.0", "mck89/peast": "^1.14", - "sebastian/diff": "^4" + "sebastian/diff": "^4|^5" }, "conflict": { "drush/drush": "<12.4.3" diff --git a/core/lib/Drupal.php b/core/lib/Drupal.php index c42f5043d348..ceb4c53d5ec9 100644 --- a/core/lib/Drupal.php +++ b/core/lib/Drupal.php @@ -113,7 +113,7 @@ class Drupal { * - Once in the error message printed to the user immediately after. * Remember to update both whenever this constant is updated. */ - const MINIMUM_PHP = '8.1.0'; + const MINIMUM_PHP = '8.3.0'; /** * Minimum recommended value of PHP memory_limit. @@ -131,7 +131,7 @@ class Drupal { * message, but Drupal can still be installed. Used for (e.g.) PHP versions * that have reached their EOL or will in the near future. */ - const RECOMMENDED_PHP = '8.2.0'; + const RECOMMENDED_PHP = '8.3.0'; /** * The currently active container object, or NULL if not initialized yet. diff --git a/core/lib/Drupal/Component/Annotation/composer.json b/core/lib/Drupal/Component/Annotation/composer.json index 7aaffc37748e..3575798a7c15 100644 --- a/core/lib/Drupal/Component/Annotation/composer.json +++ b/core/lib/Drupal/Component/Annotation/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "doctrine/annotations": "^2.0", "doctrine/lexer": "^2.0", "drupal/core-class-finder": "11.x-dev", diff --git a/core/lib/Drupal/Component/Assertion/composer.json b/core/lib/Drupal/Component/Assertion/composer.json index 49e2e0e75bbc..e68799602875 100644 --- a/core/lib/Drupal/Component/Assertion/composer.json +++ b/core/lib/Drupal/Component/Assertion/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/ClassFinder/composer.json b/core/lib/Drupal/Component/ClassFinder/composer.json index d31e53402777..9d0355af9245 100644 --- a/core/lib/Drupal/Component/ClassFinder/composer.json +++ b/core/lib/Drupal/Component/ClassFinder/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Datetime/composer.json b/core/lib/Drupal/Component/Datetime/composer.json index 91bd608f5570..3f99849600c5 100644 --- a/core/lib/Drupal/Component/Datetime/composer.json +++ b/core/lib/Drupal/Component/Datetime/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "drupal/core-utility": "11.x-dev" }, "autoload": { diff --git a/core/lib/Drupal/Component/DependencyInjection/composer.json b/core/lib/Drupal/Component/DependencyInjection/composer.json index 9558355aeea4..d6a847a80c40 100644 --- a/core/lib/Drupal/Component/DependencyInjection/composer.json +++ b/core/lib/Drupal/Component/DependencyInjection/composer.json @@ -13,7 +13,7 @@ "source": "https://www.drupal.org/project/drupal/git-instructions" }, "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "symfony/dependency-injection": "^6.4", "symfony/service-contracts": "v3.4.0" }, diff --git a/core/lib/Drupal/Component/Diff/composer.json b/core/lib/Drupal/Component/Diff/composer.json index 57a07592ff85..3fd31e6c78fb 100644 --- a/core/lib/Drupal/Component/Diff/composer.json +++ b/core/lib/Drupal/Component/Diff/composer.json @@ -7,8 +7,8 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", - "sebastian/diff": "^4" + "php": ">=8.3.0", + "sebastian/diff": "^4|^5" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Discovery/composer.json b/core/lib/Drupal/Component/Discovery/composer.json index 4a9343967682..8bc8d69047e8 100644 --- a/core/lib/Drupal/Component/Discovery/composer.json +++ b/core/lib/Drupal/Component/Discovery/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "drupal/core-file-cache": "11.x-dev", "drupal/core-serialization": "11.x-dev" }, diff --git a/core/lib/Drupal/Component/EventDispatcher/composer.json b/core/lib/Drupal/Component/EventDispatcher/composer.json index 79ed3a24cfdf..b492f29621cf 100644 --- a/core/lib/Drupal/Component/EventDispatcher/composer.json +++ b/core/lib/Drupal/Component/EventDispatcher/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "symfony/dependency-injection": "^6.4", "symfony/event-dispatcher": "^6.4", "symfony/event-dispatcher-contracts": "v3.4.0" diff --git a/core/lib/Drupal/Component/FileCache/composer.json b/core/lib/Drupal/Component/FileCache/composer.json index c262143bb5c8..456e26532439 100644 --- a/core/lib/Drupal/Component/FileCache/composer.json +++ b/core/lib/Drupal/Component/FileCache/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/FileSecurity/composer.json b/core/lib/Drupal/Component/FileSecurity/composer.json index 880de76a6c58..3408fa0aecc0 100644 --- a/core/lib/Drupal/Component/FileSecurity/composer.json +++ b/core/lib/Drupal/Component/FileSecurity/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/FileSystem/composer.json b/core/lib/Drupal/Component/FileSystem/composer.json index 975c5d554a34..029cb3682a56 100644 --- a/core/lib/Drupal/Component/FileSystem/composer.json +++ b/core/lib/Drupal/Component/FileSystem/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/FrontMatter/composer.json b/core/lib/Drupal/Component/FrontMatter/composer.json index 9baa12c9d92d..da56de5b7efa 100644 --- a/core/lib/Drupal/Component/FrontMatter/composer.json +++ b/core/lib/Drupal/Component/FrontMatter/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "drupal/core-serialization": "11.x-dev" }, "autoload": { diff --git a/core/lib/Drupal/Component/Gettext/composer.json b/core/lib/Drupal/Component/Gettext/composer.json index 0db3a4bc30b6..94e3e6c137de 100644 --- a/core/lib/Drupal/Component/Gettext/composer.json +++ b/core/lib/Drupal/Component/Gettext/composer.json @@ -8,7 +8,7 @@ "source": "https://www.drupal.org/project/drupal/git-instructions" }, "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "drupal/core-render": "11.x-dev" }, "autoload": { diff --git a/core/lib/Drupal/Component/Graph/composer.json b/core/lib/Drupal/Component/Graph/composer.json index c6c4e2b02ce2..245c41e197e9 100644 --- a/core/lib/Drupal/Component/Graph/composer.json +++ b/core/lib/Drupal/Component/Graph/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/HttpFoundation/composer.json b/core/lib/Drupal/Component/HttpFoundation/composer.json index 634267f9b651..5ec33a66051d 100644 --- a/core/lib/Drupal/Component/HttpFoundation/composer.json +++ b/core/lib/Drupal/Component/HttpFoundation/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "symfony/http-foundation": "^6.4" }, "autoload": { diff --git a/core/lib/Drupal/Component/PhpStorage/composer.json b/core/lib/Drupal/Component/PhpStorage/composer.json index 0517f06b0e35..bf7c2d3b42e3 100644 --- a/core/lib/Drupal/Component/PhpStorage/composer.json +++ b/core/lib/Drupal/Component/PhpStorage/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "drupal/core-file-security": "11.x-dev" }, "autoload": { diff --git a/core/lib/Drupal/Component/Plugin/composer.json b/core/lib/Drupal/Component/Plugin/composer.json index bc618403b32a..53c93b6501b6 100644 --- a/core/lib/Drupal/Component/Plugin/composer.json +++ b/core/lib/Drupal/Component/Plugin/composer.json @@ -9,7 +9,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "symfony/validator": "^6.4" }, "autoload": { diff --git a/core/lib/Drupal/Component/ProxyBuilder/composer.json b/core/lib/Drupal/Component/ProxyBuilder/composer.json index 68b9be598cd8..1359626f2ccb 100644 --- a/core/lib/Drupal/Component/ProxyBuilder/composer.json +++ b/core/lib/Drupal/Component/ProxyBuilder/composer.json @@ -8,7 +8,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Render/composer.json b/core/lib/Drupal/Component/Render/composer.json index 338eb5135b2b..83a3bf936a3c 100644 --- a/core/lib/Drupal/Component/Render/composer.json +++ b/core/lib/Drupal/Component/Render/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "drupal/core-utility": "11.x-dev" }, "autoload": { diff --git a/core/lib/Drupal/Component/Serialization/composer.json b/core/lib/Drupal/Component/Serialization/composer.json index 60e1c028bb9b..f000d6892b39 100644 --- a/core/lib/Drupal/Component/Serialization/composer.json +++ b/core/lib/Drupal/Component/Serialization/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "symfony/yaml": "^6.4" }, "autoload": { diff --git a/core/lib/Drupal/Component/Transliteration/composer.json b/core/lib/Drupal/Component/Transliteration/composer.json index 7e42ba488ab7..165fc69d99c4 100644 --- a/core/lib/Drupal/Component/Transliteration/composer.json +++ b/core/lib/Drupal/Component/Transliteration/composer.json @@ -18,6 +18,6 @@ ] }, "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" } } diff --git a/core/lib/Drupal/Component/Utility/composer.json b/core/lib/Drupal/Component/Utility/composer.json index f20959e228f8..bde91afb9ea5 100644 --- a/core/lib/Drupal/Component/Utility/composer.json +++ b/core/lib/Drupal/Component/Utility/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0", + "php": ">=8.3.0", "masterminds/html5": "^2.7" }, "autoload": { diff --git a/core/lib/Drupal/Component/Uuid/composer.json b/core/lib/Drupal/Component/Uuid/composer.json index 0e021a23c446..1b1d5ea2e25a 100644 --- a/core/lib/Drupal/Component/Uuid/composer.json +++ b/core/lib/Drupal/Component/Uuid/composer.json @@ -8,7 +8,7 @@ "source": "https://www.drupal.org/project/drupal/git-instructions" }, "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Component/Version/composer.json b/core/lib/Drupal/Component/Version/composer.json index d7785a3a49ab..221f2eb1b027 100644 --- a/core/lib/Drupal/Component/Version/composer.json +++ b/core/lib/Drupal/Component/Version/composer.json @@ -7,7 +7,7 @@ "homepage": "https://www.drupal.org/project/drupal", "license": "GPL-2.0-or-later", "require": { - "php": ">=8.1.0" + "php": ">=8.3.0" }, "autoload": { "psr-4": { diff --git a/core/lib/Drupal/Core/Utility/PhpRequirements.php b/core/lib/Drupal/Core/Utility/PhpRequirements.php index e80882b0bec0..3e5818dd4a16 100644 --- a/core/lib/Drupal/Core/Utility/PhpRequirements.php +++ b/core/lib/Drupal/Core/Utility/PhpRequirements.php @@ -31,8 +31,6 @@ final class PhpRequirements { * by the PHP version. */ private static $phpEolDates = [ - '8.1' => '2024-11-25', - '8.2' => '2025-12-08', '8.3' => '2026-11-23', ]; diff --git a/core/modules/system/system.install b/core/modules/system/system.install index 26cc25777424..e4d6cd07ba83 100644 --- a/core/modules/system/system.install +++ b/core/modules/system/system.install @@ -327,19 +327,6 @@ function system_requirements($phase) { elseif ($phase === 'runtime' && version_compare($phpversion, \Drupal::RECOMMENDED_PHP) < 0) { $requirements['php']['description'] = t('It is recommended to upgrade to PHP version %recommended or higher for the best ongoing support. See <a href="http://php.net/supported-versions.php">PHP\'s version support documentation</a> and the <a href=":php_requirements">Drupal PHP requirements</a> page for more information.', ['%recommended' => \Drupal::RECOMMENDED_PHP, ':php_requirements' => 'https://www.drupal.org/docs/system-requirements/php-requirements']); $requirements['php']['severity'] = REQUIREMENT_INFO; - - // PHP 8.1.0 through 8.1.5 have a known OPcache bug that can cause fatal - // errors, so warn about that when running Drupal on those versions. - // @todo Remove this when \Drupal::MINIMUM_PHP is at least 8.1.6 in - // https://www.drupal.org/i/3305726. - if (version_compare($phpversion, '8.1.6') < 0) { - $requirements['php']['description'] = t('PHP %version has <a href=":bug_url">an OPcache bug that can cause fatal errors with class autoloading</a>. This can be fixed by upgrading to PHP 8.1.6 or later. See <a href="http://php.net/supported-versions.php">PHP\'s version support documentation</a> and the <a href=":php_requirements">Drupal PHP requirements</a> page for more information.', [ - '%version' => $phpversion, - ':bug_url' => 'https://github.com/php/php-src/issues/8164', - ':php_requirements' => 'https://www.drupal.org/docs/system-requirements/php-requirements', - ]); - $requirements['php']['severity'] = REQUIREMENT_WARNING; - } } // Test for PHP extensions. diff --git a/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php b/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php index 1cd07dd7e73a..497d6d2a1a6e 100644 --- a/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php +++ b/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php @@ -74,17 +74,7 @@ public function testStatusPage() { // There should be an informational message if the PHP version is below the // recommended version. if (version_compare($phpversion, \Drupal::RECOMMENDED_PHP) < 0) { - // If it's possible to run Drupal on PHP 8.1.0 to 8.1.5, warn about a - // bug in OPcache. - // @todo Remove this when \Drupal::MINIMUM_PHP is at least 8.1.6 in - // https://www.drupal.org/i/3305726. - if (version_compare($phpversion, '8.1.6') < 0) { - $this->assertSession()->pageTextContains("PHP $phpversion has an OPcache bug that can cause fatal errors with class autoloading. This can be fixed by upgrading to PHP 8.1.6 or later."); - $this->assertSession()->linkExists('an OPcache bug that can cause fatal errors with class autoloading'); - } - else { - $this->assertSession()->pageTextContains('It is recommended to upgrade to PHP version ' . \Drupal::RECOMMENDED_PHP . ' or higher'); - } + $this->assertSession()->pageTextContains('It is recommended to upgrade to PHP version ' . \Drupal::RECOMMENDED_PHP . ' or higher'); } // Otherwise, the message should not be there. else { -- GitLab