Improve php version check during the setup
authorMarcel Werk <burntime@woltlab.com>
Wed, 6 Mar 2024 15:59:38 +0000 (16:59 +0100)
committerMarcel Werk <burntime@woltlab.com>
Wed, 6 Mar 2024 15:59:38 +0000 (16:59 +0100)
Closes #5626

wcfsetup/install/files/lib/system/WCFSetup.class.php
wcfsetup/setup/lang/setup_de.xml
wcfsetup/setup/lang/setup_en.xml
wcfsetup/setup/template/stepShowSystemRequirements.tpl

index f4224a8fd44d88060c3fab1866c9efca105e8255..8c1b0b17954b5302373b6d6ad475f62d45c9f43d 100644 (file)
@@ -363,12 +363,15 @@ final class WCFSetup extends WCF
      */
     protected function showSystemRequirements(): ResponseInterface
     {
+        $phpVersionLowerBound = '8.1.2';
+        $phpVersionUpperBound = '8.3.x';
         $system = [];
 
         // php version
         $system['phpVersion']['value'] = \PHP_VERSION;
         $comparePhpVersion = \preg_replace('/^(\d+\.\d+\.\d+).*$/', '\\1', $system['phpVersion']['value']);
-        $system['phpVersion']['result'] = (\version_compare($comparePhpVersion, '8.1.2') >= 0);
+        $system['phpVersion']['result'] = \version_compare($comparePhpVersion, $phpVersionLowerBound, '>=')
+            && \version_compare($comparePhpVersion, \str_replace('x', '999', $phpVersionUpperBound), '<=');
 
         $system['x64']['result'] = \PHP_INT_SIZE == 8;
 
@@ -429,6 +432,8 @@ final class WCFSetup extends WCF
                         [
                             'system' => $system,
                             'nextStep' => 'configureDB',
+                            'phpVersionLowerBound' => $phpVersionLowerBound,
+                            'phpVersionUpperBound' => $phpVersionUpperBound,
                         ]
                     )
                 );
index 0bd1127c1ffa8aecf8d9921df531d209f7e8f1f6..ad618846ecb8e5627ce6cd16bf28ccceac963136 100644 (file)
@@ -20,7 +20,7 @@
                <item name="wcf.global.systemRequirements.element.yours"><![CDATA[Gefunden]]></item>
                <item name="wcf.global.systemRequirements.element.recommended"><![CDATA[Empfohlen]]></item>
                <item name="wcf.global.systemRequirements.php"><![CDATA[Installierte Version der Skriptsprache „PHP“]]></item>
-               <item name="wcf.global.systemRequirements.php.description"><![CDATA[Die installierte Version der Skriptsprache „PHP“ ist für einen stabilen Betrieb dieser Software zu alt. Bitte veranlassen Sie eine Aktualisierung der installierten Version bevor Sie mit der Installation fortfahren.]]></item>
+               <item name="wcf.global.systemRequirements.php.description"><![CDATA[Die installierte Version der Skriptsprache „PHP“ liegt nicht im Bereich der unterstützten Versionen.]]></item>
                <item name="wcf.global.systemRequirements.sql"><![CDATA[PDO-Unterstützung]]></item>
                <item name="wcf.global.systemRequirements.sql.notFound"><![CDATA[nicht gefunden]]></item>
                <item name="wcf.global.systemRequirements.sql.description"><![CDATA[Ohne die „pdo_mysql“ PHP-Erweiterung kann diese Software nicht installiert werden.]]></item>
index 944bb05e1c4ca68e7a4655519848a3abff54cce3..cb2ad3f79521f4a44f9c247d5f3e7d4f634064d4 100644 (file)
@@ -20,7 +20,7 @@
                <item name="wcf.global.systemRequirements.element.yours"><![CDATA[Found]]></item>
                <item name="wcf.global.systemRequirements.element.recommended"><![CDATA[Recommended]]></item>
                <item name="wcf.global.systemRequirements.php"><![CDATA[Installed version of the script-language “PHP”]]></item>
-               <item name="wcf.global.systemRequirements.php.description"><![CDATA[The installed version of the script-language “PHP” is too old for a stable operation of this software. To proceed with the installation, a version update is necessary.]]></item>
+               <item name="wcf.global.systemRequirements.php.description"><![CDATA[The installed version of the script-language “PHP” is not within the range of supported versions.]]></item>
                <item name="wcf.global.systemRequirements.sql"><![CDATA[PDO Support]]></item>
                <item name="wcf.global.systemRequirements.sql.notFound"><![CDATA[not found]]></item>
                <item name="wcf.global.systemRequirements.sql.description"><![CDATA[The “pdo_mysql” PHP extension is required to install this software.]]></item>
index 5e3d0bd954ff979014cc72ac51ac9da4d591e9e6..b148fc9bc4d15b40de3b9be895d8f88637e916f3 100644 (file)
@@ -10,7 +10,7 @@
                        <div class="row rowColGap formGrid">
                                <dl class="col-xs-12 col-md-6">
                                        <dt>{lang}wcf.global.systemRequirements.element.required{/lang}</dt>
-                                       <dd>8.1.2</dd>
+                                       <dd>{$phpVersionLowerBound} – {$phpVersionUpperBound}</dd>
                                </dl>
                                
                                <dl class="col-xs-12 col-md-6">