PHP 5.5.0 Kompatiblität

  • Hallo zusammen,

    nun ist PHP 5.5.0 als stable draußen und würde diese Version auch gerne nutzen, jedoch ist das Board nach dem Update total hinüber, nichts geht mehr. Derzeit erhalte ich leider nur 503 Fehler und keine spezifischen Errors. Die Konfiguration des Servers ist die selbe, einzig die Version hat einen Sprung gemacht.

    Das einzige, was ich anbieten kann ist das hier:

    Code
    Stack trace:
    #0 [internal function]: WCF::handleError(8192, 'preg_replace():...', '/var/www/domain...', 380, Array)
    #1 /var/www/domains/forum.eternal-eclipse.de/public/lib/data/page/seo/WBBSEORewriter.class.php(380): preg_replace('/\{PARENT_BOARD...', '$this->getParen...', '{PARENT_BOARDS}...')
    #2 /var/www/domains/forum.eternal-eclipse.de/public/lib/data/page/seo/WBBSEORewriter.class.php(215): WBBSEORewriter->parseParentBoards('{PARENT_BOARDS}...', '13')
    #3 /var/www/domains/forum.eternal-eclipse.de/public/lib/data/page/seo/WBBSEORewriter.class.php(624): WBBSEORewriter->parseBoardURLs('13', '')
    #4 [internal function]: WBBSEORewriter->replaceBoardU" while reading response header from upstream, client: 178.201.*.*, server: forum.eternal-eclipse.de, request: "GET /index.html HTTP/1.1", upstream: "fastcgi://unix:/var/run/php5-fpm-ee.sock:", host: "forum.eternal-eclipse.de", referrer: "http://forum.eternal-eclipse.de/index.html"
    2013/06/22 23:30:08 [error] 24082#0: *23 FastCGI sent in stderr: "PHP message: PHP Fatal error:  Uncaught exception 'SystemException' with message 'PHP error in file /var/www/domains/forum.eternal-eclipse.de/public/lib/data/page/seo/WBBSEORewriter.class.php (380): preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead' in /var/www/domains/forum.eternal-eclipse.de/public/wcf/lib/system/WCF.class.php:281

    Wenn ich versuche das Forum erneut zu installieren, dann erhalte ich folgenden Fehler:

    Zudem habe ich noch diesen Thread hier im Forum gefunden, jedoch weiß ich nicht, wo hier konkret überall Hand angelegt werden muss. Ich hoffe es gibt für diese Problem eine Lösung.

    2 Mal editiert, zuletzt von GlaDOS (23. Juni 2013 um 10:23)

  • Es ist meiner Meinung nach nie empfehlenswert, auf die allerneueste PHP-Version umzusteigen, da diese noch einige Fehler hat.
    Zudem wurden hier wieder einige Funktionen als veraltet gekennzeichnet (daher auch der Fehler). Entweder also das error_reporting runtersetzen oder aber abwarten.

    Man kann zudem eigentlich auch nicht erwarten, dass Software, welche unter PHP 5.0.5 läuft, auch unter PHP 5.5.0 läuft...

    Was versprichst du dir denn davon, PHP 5.5 sofort einzusetzen?

  • Das deprecated ist normal nur ne Warnung, weshalb es eigentlich unsinnig ist, das WBB seinen Dienst einstellt.

    Schalt mal die Warnmeldungen in der php.ini aus.

    Tja BlackRider, wieso braucht Woltlab x Php Versionen um ne neue WBB Version rauszubringen?? Muss Woltlab endlich mal ein paar Kohlen ins Feuer werfen und mal schneller Entwickeln und mit der Zeit gehen. ;)

    Wieso sollte er nicht Php5.5.0 einsetzen? Der o.g. Fehler ist js definitiv kein PHP Fehler, sondern eher ein "Softwarefehler" von Woltlab.

    Du kannst niemandem Vorschreiben, was er auf seinrm Server nutzt. ;)

  • Wieso sollte er nicht Php5.5.0 einsetzen? Der o.g. Fehler ist js definitiv kein PHP Fehler, sondern eher ein "Softwarefehler" von Woltlab.

    Hast du es mal bei PHP 5.3 oder PHP 5.4 mitverfolgt? Mir scheint nicht. Dort hat es fast 10 Updates gebraucht, bis die Versionen wenigstens soweit fehlerfrei liefen, dass man sie wirklich produktiv ohne viele Fehler hat einsetzen können.

    Ich glaube kaum, dass das hier anders sein wird.

  • Ich bin umgestiegen, weil diese Version enorme Geschwindigkeitsvorteile mitbringt. Ich setze unter anderem auch Wordpress ein und konntet durch den Zend Optimizer der nun Teil von PHP ist, die Onload Ladezeit mehr als halbieren und das völlig ohne Cache Plugin.

    Ehrlich gesagt bin ich nicht davon ausgegangen, dass das Forum danach nicht mehr funktioniert, denn es ist genau genommen noch immer PHP5+ ;) Ich vermute aber mal, dass es dafür auf die schnelle keine Abhilfe geben wird, oder?

  • Tut mir Leid ihr beiden, das habe ich total überlesen gehabt, weil ich so beschäftigt war mich durch die Serverkonfiguration zu wühlen :)

    Es läuft wieder alles, danke euch beiden.

    //edit
    @ Morik

    das müsste ich mal testen, danke dir.

  • Ich hatte gerade eben das selbe Problem, ebenfalls unter PHP 5.5 (mit WBB 3.1.7).
    Das Deaktivieren von Deprecated-Fehlern bei "error_reporting" in meiner php.ini hat aber gar nichts gebracht, weil das WBB offenbar seine eigene Fehlerbehandlung macht, mit Hilfe der Funktion "set_error_handler ". Wie ihr in der Dokumentation seht, hebelt diese Funktion das normale error_reporting von PHP aus.

    Ich hab jetzt so Abhilfe geschaffen, indem ich die Einstellung im passenden File vom WBB geändert habe, nämlich in wcf/lib/core.functions.php in Zeile 13, von:

    PHP
    set_error_handler(array('WCF', 'handleError'), E_ALL);


    zu:

    PHP
    set_error_handler(array('WCF', 'handleError'), E_ALL & ~E_DEPRECATED);

    Nun läuft alles wieder wie gehabt, zumindest konnte ich bisher keine weiteren Probleme entdecken.

    PHP 5.5 mag ja erst seit 10 Tagen als stable release verfügbar sein, dass aber u. A. der preg_replace() /e modifier in Version 5.5 als deprecated eingestuft wird, ist meines Wissens schon seit mindestens einem Jahr fix, insofern hätte man derweil genug Zeit gehabt ein kleines Update fürs WBB zu veröffentlichen und die entsprechenden Funktionen rechtzeitig zu ändern. Auch Woltlab dürfte das Problem bereits bekannt sein: PHP Error: The /e modifier is deprecated, use preg_replace_callback instead

    Also, eine Version 3.1.8 wäre mehr als angebracht, da 3.1.7 ja nun auch schon über ein Jahr auf'm Buckel hat. Im Übrigen finde ich es seltsam, dass schon eine deprecated-Warnung reicht um dafür zu sorgen, dass ein Skript nicht mehr ausgeführt wird. Vielleicht solltet ihr (Woltlab) eure Fehlerbehandlung mal überdenken, hätte ich nicht die Anpassungen manuell vorgenommen, wäre ich nicht mal mehr ins ACP reingekommen.

    Zum Thema warum schon PHP 5.5: Warum nicht? Es ist ein stable release, der zwar auch seine Macken haben mag, aber das hat hiermit gar nichts zu tun. Diese spezielle "Neuerung" ist, wie schon gesagt, lange bekannt. Ohne persönlich werden zu wollen, mir kommt dieses Argument jetzt doch ein wenig vor wie eine faule Ausrede, weil man es nicht geschafft hat, rechtzeitig eine Aktualisierung dafür bereit zu stellen. Klar, das Entwickler-Team hat derzeit alle Hände voll zu tun mit WBB4, das muss man natürlich auch berücksichtigen. Trotzdem sollte man den Support für derzeit (noch) aktuelle Version nicht einfach schleifen lassen. Noch dazu wo hier immerhin zahlende Kunden sind.

  • Jeythor

    Danke dir für das mitteilen der Lösung, das deaktivieren des error_reportings wäre auch für mich keine Dauerlösung gewesen. Ich habe es nun angepasst und es funktioniert ohne Probleme. Danke nochmals.

    • Offizieller Beitrag

    Nur um das klar zu stellen, es soll nicht das vollständige error reporting deaktiviert werden sondern nur das Ausgeben der deprecated Meldungen. In einem produktiven System sollte man in der Regel lediglich wirkliche Fehler ausgeben lassen. Notices und Deprecated Meldungen sind etwas für Entwicklersysteme.

  • Ohne die Änderungen im Code ging das leider nicht, es musste das reporting wirklich auf "off" gesetzt werden, damit das Forum im Urzustand läuft. Aber das ist ja nun gelöst :)

  • Jeythor
    Kurze Frage an dich: Hast du die wcf/lib/core.functions.php über Filezilla runnergeladen, editiert und wieder geuppt?

    edit: erledigt, genauso isses

    Einmal editiert, zuletzt von BFC75 (4. Juli 2013 um 19:28)

  • Muss das Thema leider nochmals hochbringen. Mit dem Update auf WBB 3.1.8 respektive WCF 1.1.0 wurde die obenstehenden deprecated Fehler ja an verschiedenen Orten behoben.

    Jedoch erhalte ich beim Antworten einer PM immer noch den unstenstehenden Fehler:

    Kann hier baldmöglichst auch mit einer Anpassung, respektive PHP 5.5 Kompatiblität gerechnet werden?

Jetzt mitmachen!

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