Check for 64-bit support in SystemCheckPage
authorTim Düsterhus <duesterhus@woltlab.com>
Wed, 11 May 2022 09:26:08 +0000 (11:26 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Wed, 11 May 2022 09:26:08 +0000 (11:26 +0200)
wcfsetup/install/files/acp/templates/systemCheck.tpl
wcfsetup/install/files/lib/acp/page/SystemCheckPage.class.php
wcfsetup/install/lang/de.xml
wcfsetup/install/lang/en.xml

index 39428c345a6dff23c67afd6a23b58eece2523cba..dcc8939ff75562f8bf3faae6776fe978568ad41f 100644 (file)
                        <small>{lang}wcf.acp.systemCheck.php.version.description{/lang}</small>
                </dd>
        </dl>
+
+       <dl{if !$results[php][x64]} class="formError"{/if}>
+               <dt>{lang}wcf.acp.systemCheck.php.x64{/lang}</dt>
+               <dd>
+                       {if $results[php][x64]}
+                               {@$statusOk} {lang}wcf.acp.systemCheck.pass{/lang}
+                       {else}
+                               {@$statusInsufficient} {lang}wcf.acp.systemCheck.notSupported{/lang}
+                       {/if}
+                       <small>{lang}wcf.acp.systemCheck.php.x64.description{/lang}</small>
+               </dd>
+       </dl>
        
        <dl{if !$results[php][extension]|empty} class="formError"{/if}>
                <dt>{lang}wcf.acp.systemCheck.php.extension{/lang}</dt>
index 0357fcf63509844b7046a2cef41d1a8db5a33cb9..36db1aea85f752e57b119deddac02693ef237160 100644 (file)
@@ -151,6 +151,7 @@ class SystemCheckPage extends AbstractPage
                 'result' => 'unsupported',
                 'value' => '0.0.0',
             ],
+            'x64' => false,
         ],
         'status' => [
             'directories' => false,
@@ -186,6 +187,7 @@ class SystemCheckPage extends AbstractPage
         $this->validateMysql();
         $this->validatePhpExtensions();
         $this->validatePhpMemoryLimit();
+        $this->validatePhpX64();
         $this->validatePhpVersion();
         $this->validatePhpGdSupport();
         $this->validateWritableDirectories();
@@ -377,6 +379,13 @@ class SystemCheckPage extends AbstractPage
         $this->results['status']['php'] = $this->results['status']['php'] && $this->results['php']['memoryLimit']['result'];
     }
 
+    protected function validatePhpX64()
+    {
+        $this->results['php']['x64'] = \PHP_INT_SIZE == 8;
+
+        $this->results['status']['php'] = $this->results['status']['php'] && $this->results['php']['x64'];
+    }
+
     protected function validatePhpVersion()
     {
         $phpVersion = \PHP_VERSION;
index f1c7916fae2f581e9aecd6777119da23d429598f..235b0c60df14edde495351013e07024a5ed818cc 100644 (file)
@@ -2817,6 +2817,8 @@ Kein Abschnitt darf leer sein und alle Abschnitten dürfen nur folgende Zeichen
                <item name="wcf.acp.systemCheck.php.memoryLimit.description"><![CDATA[Einige Prozesse benötigen in Spitzenzeiten eine große Menge Arbeitsspeicher, für den einwandfreien Betrieb werden mindestens {$phpMemoryLimit} MB benötigt.]]></item>
                <item name="wcf.acp.systemCheck.php.sha256"><![CDATA[Unterstützung für SHA-256]]></item>
                <item name="wcf.acp.systemCheck.php.sha256.description"><![CDATA[Die kryptographische Funktion SHA-256 wird für den sicheren Betrieb der Software benötigt.]]></item>
+               <item name="wcf.acp.systemCheck.php.x64"><![CDATA[64-Bit-Unterstützung]]></item>
+               <item name="wcf.acp.systemCheck.php.x64.description"><![CDATA[Die eingesetzte PHP-Version muss die Verarbeitung von 64-Bit-Ganzzahlen unterstützen, um Zahlwerte größer als etwa 2,1 Milliarden korrekt zu verarbeiten.]]></item>
                <item name="wcf.acp.systemCheck.mysql.innodb"><![CDATA[InnoDB verfügbar]]></item>
                <item name="wcf.acp.systemCheck.mysql.innodb.description"><![CDATA[InnoDB (XtraDB unter MariaDB) ist eine transaktionale Storage-Engine von MySQL und wird zwingend für den Betrieb benötigt. Dies ist eine Standardfunktion von MySQL.]]></item>
                <item name="wcf.acp.systemCheck.mysql.bufferPool"><![CDATA[Bufferpool-Größe]]></item>
index a46592b2f23e37e331c774634c4faa48a22c26a0..d8ab6d75d1855330228186661a72f2a322b9187c 100644 (file)
@@ -2748,6 +2748,8 @@ If you have <strong>already bought the licenses for the listed apps</strong>, th
                <item name="wcf.acp.systemCheck.php.memoryLimit.description"><![CDATA[Processes may require large amounts of memory at peak, requiring a limit of at least {$phpMemoryLimit} MB.]]></item>
                <item name="wcf.acp.systemCheck.php.sha256"><![CDATA[Support for SHA-256]]></item>
                <item name="wcf.acp.systemCheck.php.sha256.description"><![CDATA[The cryptographic function SHA-256 is required for a safe and secure operation of the software.]]></item>
+               <item name="wcf.acp.systemCheck.php.x64"><![CDATA[64-bit Support]]></item>
+               <item name="wcf.acp.systemCheck.php.x64.description"><![CDATA[The PHP version must support 64-bit integers to correctly process numbers larger than ~2.1 billion.]]></item>
                <item name="wcf.acp.systemCheck.mysql.innodb"><![CDATA[InnoDB available]]></item>
                <item name="wcf.acp.systemCheck.mysql.innodb.description"><![CDATA[InnoDB (XtraDB when using MariaDB) is a transaction storage engine for MySQL and is required for the operation of the software. This is a built-in feature of MySQL.]]></item>
                <item name="wcf.acp.systemCheck.mysql.bufferPool"><![CDATA[Bufferpool Size]]></item>