str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated

  • Betroffene Version
    WoltLab Suite 5.4
    Betroffene App
    WoltLab Suite Core

    Mir ist bekannt das PHP 8.1 nicht offiziell unterstütz wird.

    Bei der Ankündigung über Aktualisierung für ein Paket kam es zur folgenden Fehlermeldung.

    Aufgerufene URL
    GET /
    Referrer
    https://www.wiederladeforum.de/
    WoltLab Suite
    5.4.20
    PHP
    8.1.8
    Fehlermeldung
    str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated
    Art
    wcf\system\exception\ErrorException
    Datei (Zeile)
    /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/system/WCF.class.php (344)
    Template Context
    <div><?php if (OFFLINE_MESSAGE_ALLOW_HTML) { ?><?=$this->pluginObjects['wcf\system\template\plugin\LanguageModifierTemplatePlugin']->execute([OFFLINE_MESSAGE], $this);?><?php } else { ?><?=$this->pluginObjects['wcf\system\template\plugin\NewlineToBreakModifierTemplatePlugin']->execute([$this->pluginObjects['wcf\system\template\plugin\LanguageModifierTemplatePlugin']->execute([OFFLINE_MESSAGE], $this)], $this);?><?php } ?></div> </div> <?php } ?> ====> <?php if ($this->v['__wcf']->session->getPermission('admin.configuration.package.canUpdatePackage') && $this->v['__wcf']->getAvailableUpdates() && SHOW_UPDATE_NOTICE_FRONTEND) { ?> <p class="info" role="status">Es sind <a href="<?php $this->tagStack[] = ['link', ['controller' => 'PackageUpdate', 'isACP' => true]]; $this->pluginObjects['wcf\system\template\plugin\LinkBlockTemplatePlugin']->init($this->tagStack[count($this->tagStack) - 1][1], $this); while ($this->pluginObjects['wcf\system\template\plugin\LinkBlockTemplatePlugin']->next($this)) { ob_start(); ?><?php echo $this->pluginObjects['wcf\system\template\plugin\LinkBlockTemplatePlugin']->execute($this->tagStack[count($this->tagStack) - 1][1], ob_get_clean(), $this); } array_pop($this->tagStack);?>">Aktualisierungen für installierte Pakete</a> verfügbar.</p> <?php } ?>
    Stacktrace
    1. [internal function] (?): wcf\system\WCF::handleError(…)
    2. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/data/package/Package.class.php (435): str_replace(…)
    3. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/data/package/Package.class.php (417): wcf\data\package\Package::formatVersionForCompare(…)
    4. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/system/package/PackageUpdateDispatcher.class.php (818): wcf\data\package\Package::compareVersion(…)
    5. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/system/cache/builder/PackageUpdateCacheBuilder.class.php (22): wcf\system\package\PackageUpdateDispatcher->getAvailableUpdates(…)
    6. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/system/cache/builder/AbstractCacheBuilder.class.php (42): wcf\system\cache\builder\PackageUpdateCacheBuilder->rebuild(…)
    7. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/system/WCF.class.php (1145): wcf\system\cache\builder\AbstractCacheBuilder->getData(…)
    8. /homepages/36/d488721828/htdocs/wiederladen/wcf/templates/compiled/5_wbb_1_boardList.php (2819): wcf\system\WCF->getAvailableUpdates(…)
    9. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/system/template/TemplateEngine.class.php (346): include(…)
    10. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/page/AbstractPage.class.php (371): wcf\system\template\TemplateEngine->display(…)
    11. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/page/AbstractPage.class.php (122): wcf\page\AbstractPage->show(…)
    12. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/system/request/Request.class.php (89): wcf\page\AbstractPage->__run(…)
    13. /homepages/36/d488721828/htdocs/wiederladen/wcf/lib/system/request/RequestHandler.class.php (121): wcf\system\request\Request->execute(…)
    14. /homepages/36/d488721828/htdocs/wiederladen/index.php (11): wcf\system\request\RequestHandler->handle(…)

    Ich tue recht und scheue keinen Feind.

  • Mir ist bekannt das PHP 8.1 nicht offiziell unterstütz wird.

    Wie kommst du darauf?

    In der Systemüberprüfung im ACP steht etwas anderes:

    Zitat

    Es wird mindestens PHP 7.2.24 benötigt, empfohlen werden die folgenden Versionsreihen von PHP: 8.0, 8.1.

    Hast du denn Testweise die PHP Version mal auf 8.0 umgestellt und geguckt ob der Fehler bleibt?

    https://www.ostsee-copter.de | Drohnenluftbildaufnahmen für Immobilien, Events und mehr in Rostock und Umgebung.

    3 Mal editiert, zuletzt von Lantis (16. Juli 2022 um 07:28)

  • Das widerspricht sich dann aber mit dem ACP-Hinweis. :rolleyes: Hier wäre es mal ganz gut wenn mal so langsam klare Kante gezeigt wird was nun konkret in Zukunft unterstützt wird. Mit diesen ganzen unterschiedlichen PHP Versionen sieht ja bald keiner mehr durch.

    • Offizieller Beitrag

    Die Unterstützung von PHP 8.1 in WoltLab Suite 5.4 ist nur temporär, offiziell wird nur bis PHP 8.0 unterstützt. WoltLab Suite 5.5 unterstützt PHP 7.4 bis 8.1, wobei technisch die Mindestversion PHP 7.2 ist, aber dies wird nicht gewährleistet oder von uns anderweitig unterstützt. Dies ist letztlich alles der Realität im Hosting geschuldet, bei der wir Kompromisse eingehen müssen, damit die Software bestmöglich lauffähig ist.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

  • Tim Düsterhus 19. Juli 2022 um 11:06

    Hat das Label 5.5.3 hinzugefügt.
  • Tim Düsterhus 19. Juli 2022 um 11:06

    Hat das Label Behoben hinzugefügt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!