• Gelöst taich

    (@taich)


    Nach dem letzten Update auf 6.7.1 habe ich wieder einmal probiert meine Seite von PHP 7.4 auf 8.1 umzustellen. Es gibt immer noch einige Plugins die damit nicht umgehen können. z.B. SaveSVG.

    Gibt es eine Liste von Plugins die definitiv PHP 8 unterstützen. Das wäre sehr hilfreich.

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 21)
  • Ich kann mir nicht vorstellen, dass es eine Liste mit tausenden von Plugins gibt, in der die Kompatibilität mit PHP 8.x steht.

    Siehe doch auf die Herstellerseiten deiner genutzten Plugins, ob diese mit PHP 8 getestet wurden.

    • Diese Antwort wurde geändert vor 2 Wochen von bscu.
    Moderator Hans-Gerd Gerhards

    (@hage)

    Hallo,
    evtl. ist es dann besser für diese Plugins einen Ersatz zu suchen. Im Fall des Plugins „Safe SVG“ würde mich eigentlich wundern, wenn das nicht unter PHP 8.x läuft. Immerhin hat das Plugin mehr als 1 Million aktive Installationen.

    Als Ersatz kann ich sonst das Plugin „Easy SVG Support“ empfehlen, das ich auch auf einigen Instanzen einsetze.

    Viele Grüße
    Hans-Gerd

    Thread-Starter taich

    (@taich)

    Wenn man mit PHP 8.0 oder PHP 8.1 nach SVG in der Pluginliste sucht bekommt man keine Antwort. Die Suche bleibt hängen. Es ist aber egal auch wenn man es manuell installiert benimmt sich WordPress nicht so wie es sein sollte. Einige Seiten werden nicht mehr vollständig aufgebaut.

    Dieses Verhalten beobachte ich seit über einem Jahr bei verschiedenen WordPress Installationen. PHP 8.0 ist nach wie vor ungeeignet für WordPress.

    Mit WP 6.7.1 taucht jz auch das Problem auf, dass einge Plugins sich weigern mit PHP 7.4 zu funktionieren.

    Ein perfektes Szenario um die gesamte WordPress Plattform vollkommen zu zerstören.

    Hallo,

    Ein perfektes Szenario um die gesamte WordPress Plattform vollkommen zu zerstören.

    Kann ich nicht bestätigen: Wir haben ca. 50 WordPress-Instanzen mit verschiedenen Plugins, Themes und bei verschiedenen Hostern: Keine Probleme. Das muss eine andere Ursache haben.

    Hilfreich für eine Analyse wäre der Website-Bericht:
    Du findest unter Werkzeuge > Website-Zustand > Info einen Bericht zur Website. Warte bitte einen Moment bis die Ladeanzeige ganz oben abgeschlossen ist und kopiere dann per Button den Website-Bericht in deine Zwischenablage. Über den Button „Bericht in die Zwischenablage kopieren“ kannst du den Bericht unverändert (bitte mit den Akzentzeichen am Anfang und Ende) einfügen und anschließend hier posten. Evtl. ergeben sich dann weitere Anhaltspunkte, ob und wo das Problem liegt.
    Hier ein Screenshot dazu (bei Klick auf das Bild, wird das Bild vergrößert):
    Website-Bericht

    Und mit z. B. STRG V in die Antwort bei diesem Thema einfügen.

    Mehr Infos zum Website-Zustand findest du z. B. in dem folgenden Video

    Hilfreich könnte auch die Aktivierung des Debug-Modus sein. Damit Fehler ausgelesen werden können, müssen die Fehler in eine Log-Datei auf dem Server geschrieben werden, auf die man dann per FTP (oder auch SSH) zugreifen kann.
    Sichere bitte zunächst die wp-config.php auf deinem lokalen Rechner.
    Gib dann bitte mit einem geeigneten Programmier-Editor (z. B. Notepad++) in der wp-config.php oberhalb von /* That's all, stop editing! Happy blogging. */ folgendes ein:

    define( 'WP_DEBUG', true );
    define( 'WP_DEBUG_DISPLAY', false);
    define( 'WP_DEBUG_LOG', true );

    Achte darauf, dass du define('WP_DEBUG', false); überschreibst, falls die Zeile bereits in der wp-config.php steht. Wenn versucht wird, diese Konstante ein zweites mal zu definieren, gibt es einen Fehler, der deine Seite lahmlegen würde.
    Mit diesen drei Codezeilen sagen wir WordPress, dass der Debug-Modus aktiviert werden soll. Die Fehlermeldungen sollen aber nicht direkt angezeigt werden, sondern in die Datei /wp-content/debug.log geschrieben werden.
    Wenn der Fehler gefunden wurde bzw. wenn die Fehler nicht mehr in die debug.log geschrieben werden sollen, dann musst du daran denken, die Variable
    define( 'WP_DEBUG_LOG', true );
    wieder auf false zu setzen:
    define( 'WP_DEBUG_LOG', false);

    Schau bitte auch im Error-Log des Webservers nach, ob es Fehlermeldungen gibt. In die error_log kannst du über den Kundenaccount bei deinem Hoster reinschauen.

    Viele Grüße
    Hans-Gerd

    PHP 8.0 ist nach wie vor ungeeignet für WordPress.

    Sorry, das ist Quatsch. Wie @hage schon geschrieben hat, auch ich betreue einige WordPress-Seiten und die laufen alle mit PHP 8.2.x

    Moderator threadi

    (@threadi)

    Ich würde dazu auch gerne noch etwas sagen 🙂

    Mit WP 6.7.1 taucht jz auch das Problem auf, dass einge Plugins sich weigern mit PHP 7.4 zu funktionieren.

    Das hat mit der WordPress-Version nichts zu tun sondern ist Entscheidung der Plugin-Entwickler. Ich selbst setze für die allermeisten der von mir entwickelten Plugins schon seit Anfang des Jahres PHP 8.0 voraus. In den nächsten Monaten wird PHP 8.1 die Mindestvoraussetzung für alle Plugins von mir sein.

    Warum? Weil PHP 7.4 zuletzt im November 2022 ein Update bekommen hat. Seither gilt die Version als veraltet und potentiell gefährlich. Auch auf PHP 8.0 trifft das seit August 2023 zu. Siehe: https://endoflife.date/php – derzeit sollte allein schon aus Gründen der Sicherheit PHP 8.1 die Version sein die man für sein Projekt einsetzen sollte. Wenn Plugins oder Themes das nicht mitmachen, sollte man sich an deren Entwickler wenden oder sich nach Alternativen umschauen. WordPress hat keine Probleme mit allen Versionen zwischen PHP 7.2 und 8.3.

    Schau dir daher o.g. Tipps von @hage an. So kommst du der Ursache für Probleme bei deinem Projekt auf die Schliche.

    Thread-Starter taich

    (@taich)

    Hier der Website Zusands-Bericht:

    ` wp-core

    version: 6.7.1
    site_language: de_AT
    user_language: de_AT
    timezone: Europe/Vienna
    permalink: /%postname%/
    https_status: true
    multisite: false
    user_registration: 0
    blog_public: 1
    default_comment_status: open
    environment_type: production
    user_count: 3
    dotorg_communication: true wp-paths-sizes

    wordpress_path: /_www/www.singer-kfz.at
    wordpress_size: loading…
    uploads_path: /_www/www.singer-kfz.at/wp-content/uploads
    uploads_size: loading…
    themes_path: /_www/www.singer-kfz.at/wp-content/themes
    themes_size: loading…
    plugins_path: /_www/www.singer-kfz.at/wp-content/plugins
    plugins_size: loading…
    fonts_path: /_www/www.singer-kfz.at/wp-content/uploads/fonts
    fonts_size: loading…
    database_size: loading…
    total_size: loading… wp-dropins (1)

    object-cache.php: true wp-active-theme

    name: GeneratePress Child (generatepress_child)
    version: 0.1
    author: Tom Usborne
    author_website: https://tomusborne.com
    parent_theme: GeneratePress (generatepress)
    theme_features: core-block-patterns, widgets-block-editor, automatic-feed-links, post-thumbnails, post-formats, woocommerce, title-tag, html5, customize-selective-refresh-widgets, align-wide, responsive-embeds, editor-color-palette, custom-logo, menus, editor-styles, editor-style, widgets
    theme_path: /_www/www.singer-kfz.at/wp-content/themes/generatepress_child
    auto_update: Deaktiviert wp-parent-theme

    name: GeneratePress (generatepress)
    version: 3.5.1
    author: Tom Usborne
    author_website: https://tomusborne.com
    theme_path: /_www/www.singer-kfz.at/wp-content/themes/generatepress
    auto_update: Deaktiviert wp-themes-inactive (2)

    Twenty Twenty-Five: version: 1.0, author: the WordPress team, Automatische Aktualisierungen deaktiviert
    Twenty Twenty-Four: version: 1.3, author: the WordPress team, Automatische Aktualisierungen deaktiviert wp-mu-plugins (1)

    InfiniteWP - Client Loader: version: 1.0.1, author: Revmakx wp-plugins-active (11)

    Advanced Database Cleaner PRO: version: 3.2.10, author: Younes JFR., Automatische Aktualisierungen deaktiviert
    Advanced Editor Tools: version: 5.9.2, author: Automattic, Automatische Aktualisierungen deaktiviert
    Classic Editor: version: 1.6.6, author: WordPress Contributors, Automatische Aktualisierungen deaktiviert
    Disable Gutenberg: version: 3.2.2, author: Jeff Starr, Automatische Aktualisierungen deaktiviert
    Don’t Muck My Markup: version: 1.8, author: Martyn Chamberlin, Automatische Aktualisierungen deaktiviert
    Duplicator Pro: version: 4.5.19.3, author: Duplicator, Automatische Aktualisierungen deaktiviert
    GP Premium: version: 2.5.0, author: Tom Usborne, Automatische Aktualisierungen deaktiviert
    InfiniteWP - Client: version: 1.13.0, author: Revmakx, Automatische Aktualisierungen deaktiviert
    Login Lockdown PRO: version: 5.56, author: WebFactory Ltd, Automatische Aktualisierungen deaktiviert
    Object Cache 4 everyone: version: 2.2, author: fpuenteonline, Automatische Aktualisierungen deaktiviert
    Scripts n Styles: version: 3.5.8, author: unFocus Projects, Automatische Aktualisierungen deaktiviert wp-media

    image_editor: WP_Image_Editor_Imagick
    imagick_module_version: 1691
    imagemagick_version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org
    imagick_version: 3.7.0
    file_uploads: 1
    post_max_size: 32M
    upload_max_filesize: 32M
    max_effective_size: 32 MB
    max_file_uploads: 20
    imagick_limits:
    imagick::RESOURCETYPE_AREA: 122 MB
    imagick::RESOURCETYPE_DISK: 1073741824
    imagick::RESOURCETYPE_FILE: 768
    imagick::RESOURCETYPE_MAP: 512 MB
    imagick::RESOURCETYPE_MEMORY: 256 MB
    imagick::RESOURCETYPE_THREAD: 1
    imagick::RESOURCETYPE_TIME: 9.2233720368548E+18
    imagemagick_file_formats: 3FR, 3G2, 3GP, AAI, AI, APNG, ART, ARW, AVI, AVIF, AVS, BGR, BGRA, BGRO, BIE, BMP, BMP2, BMP3, BRF, CAL, CALS, CANVAS, CAPTION, CIN, CIP, CLIP, CMYK, CMYKA, CR2, CR3, CRW, CUR, CUT, DATA, DCM, DCR, DCX, DDS, DFONT, DJVU, DNG, DOT, DPX, DXT1, DXT5, EPDF, EPI, EPS, EPS2, EPS3, EPSF, EPSI, EPT, EPT2, EPT3, ERF, EXR, FAX, FILE, FITS, FRACTAL, FTP, FTS, G3, G4, GIF, GIF87, GRADIENT, GRAY, GRAYA, GROUP4, GV, H, HALD, HDR, HEIC, HISTOGRAM, HRZ, HTM, HTML, HTTP, HTTPS, ICB, ICO, ICON, IIQ, INFO, INLINE, IPL, ISOBRL, ISOBRL6, J2C, J2K, JBG, JBIG, JNG, JNX, JP2, JPC, JPE, JPEG, JPG, JPM, JPS, JPT, JSON, K25, KDC, LABEL, M2V, M4V, MAC, MAGICK, MAP, MASK, MAT, MATTE, MEF, MIFF, MKV, MNG, MONO, MOV, MP4, MPC, MPG, MRW, MSL, MSVG, MTV, MVG, NEF, NRW, NULL, ORF, OTB, OTF, PAL, PALM, PAM, PANGO, PATTERN, PBM, PCD, PCDS, PCL, PCT, PCX, PDB, PDF, PDFA, PEF, PES, PFA, PFB, PFM, PGM, PGX, PICON, PICT, PIX, PJPEG, PLASMA, PNG, PNG00, PNG24, PNG32, PNG48, PNG64, PNG8, PNM, POCKETMOD, PPM, PREVIEW, PS, PS2, PS3, PSB, PSD, PTIF, PWP, RADIAL-GRADIENT, RAF, RAS, RAW, RGB, RGBA, RGBO, RGF, RLA, RLE, RMF, RW2, SCR, SCT, SFW, SGI, SHTML, SIX, SIXEL, SPARSE-COLOR, SR2, SRF, STEGANO, SUN, SVG, SVGZ, TEXT, TGA, THUMBNAIL, TIFF, TIFF64, TILE, TIM, TTC, TTF, TXT, UBRL, UBRL6, UIL, UYVY, VDA, VICAR, VID, VIDEO, VIFF, VIPS, VST, WBMP, WEBM, WEBP, WMF, WMV, WMZ, WPG, X, X3F, XBM, XC, XCF, XPM, XPS, XV, XWD, YCbCr, YCbCrA, YUV
    gd_version: 2.3.3
    gd_formats: GIF, JPEG, PNG, WebP, BMP, AVIF, XPM
    ghostscript_version: 9.55.0 wp-server

    server_architecture: Linux 6.8.12-4-pve x86_64
    httpd_software: nginx/1.26.2
    php_version: 8.1.31 64bit
    php_sapi: fpm-fcgi
    max_input_variables: 1000
    time_limit: 300
    memory_limit: 512M
    max_input_time: 60
    upload_max_filesize: 32M
    php_post_max_size: 32M
    curl_version: 7.81.0 OpenSSL/3.0.2
    suhosin: false
    imagick_availability: true
    pretty_permalinks: true
    htaccess_extra_rules: true
    current: 2024-11-27T12:34:29+00:00
    utc-time: Wednesday, 27-Nov-24 12:34:29 UTC
    server-time: 2024-11-27T13:34:28+01:00 wp-database

    extension: mysqli
    server_version: 10.6.18-MariaDB-0ubuntu0.22.04.1-log
    client_version: mysqlnd 8.1.31
    max_allowed_packet: 16777216
    max_connections: 1000 wp-constants

    WP_HOME: undefined
    WP_SITEURL: undefined
    WP_CONTENT_DIR: /_www/www.singer-kfz.at/wp-content
    WP_PLUGIN_DIR: /_www/www.singer-kfz.at/wp-content/plugins
    WP_MEMORY_LIMIT: 40M
    WP_MAX_MEMORY_LIMIT: 512M
    WP_DEBUG: false
    WP_DEBUG_DISPLAY: true
    WP_DEBUG_LOG: false
    SCRIPT_DEBUG: false
    WP_CACHE: true
    CONCATENATE_SCRIPTS: undefined
    COMPRESS_SCRIPTS: undefined
    COMPRESS_CSS: undefined
    WP_ENVIRONMENT_TYPE: undefined
    WP_DEVELOPMENT_MODE: undefined
    DB_CHARSET: utf8mb4
    DB_COLLATE: undefined wp-filesystem

    wordpress: writable
    wp-content: writable
    uploads: writable
    plugins: writable
    themes: writable
    fonts: not writable
    mu-plugins: writable

    Die Größe der Verzeichnisse wird auch nach Stunden nicht angezeigt.

    Moderator threadi

    (@threadi)

    Das von dir genannte Plugins SaveSVG kann ich in der Liste jetzt nicht finden. Wenn Du es jetzt mit PHP 8.1 in WordPress installierst, könntest du in den o.g. Error-Logs oder im Debug-Modus auch die Fehlermeldungen sehen, die das Plugin ggfs. erzeugt. Mit diesen Meldungen wendest Du dich am besten an den Support von SaveSVG damit die das bei ihrer Weiterentwicklung berücksichtigen können.

    Hallo @taich
    Nur zur Info:
    Ich habe gerade bei ca. 10 Websites von Kunden Plugins und WordPress aktualisiert und die Websites danach noch überprüft: Keinerlei Probleme. Da waren übrigens auch Websites dabei, die wir mit GeneratePress entwickelt haben.

    Evtl. gibt es ja auch ein Problem mit deinem Child Theme. Das solltest du auch mal prüfen.

    Du erstellst offensichtlich die Website mit dem Classic Editor und hast zusätzlich Gutenberg über ein Plugin deaktiviert. Deaktiviere doch zunächst bitte alle Plugins und aktiviere dann Plugin für Plugin. Teste danach jeweils, ob das Problem behoben ist. Sobald es dann nach Aktivierung eines Plugins das beschriebene Problem gibt, weißt du, welches Plugin das Problem verursacht.

    Das könnte auch in der Konstellation mit dem Plugin Object Cache 4 everyone zusammenhängen, das vor über einem Jahr das letzte Mal upgedatet wurde.

    In einem Beitrag habe ich vor einiger Zeit einige Plugins zum Object Cache vorgestellt. Evtl. ist es ratsam, ein anderes Plugin zu verwenden.

    Viele Grüße
    Hans-Gerd

    Thread-Starter taich

    (@taich)

    Nun ja es gibt sicher unzählige Möglichkeiten die Situation zu testen und andere Plugins und/oder Themen zu finden. Das alles kostet Unmengen von Stunden die ich schon in Recheche investiert habe. Die einfachste Möglichkeit für mich war bisher PHP 7.4 zu verwenden. Da gibt es diese Probleme alle nicht. Und so habe ich die Seite jz wieder auf PHP 7.4 zurückgestellt.

    Das SVG Plugin habe ich entfernt und durch diesen Code ersetzt.

    function allow_svg_upload($mimes) {
    $mimes['svg'] = 'image/svg+xml';
    return $mimes;
    }
    add_filter('upload_mimes', 'allow_svg_upload');

    Moderator threadi

    (@threadi)

    Eine einfache ist nicht immer die richtige und beste Lösung. Du wirst PHP 7.4 noch nutzen können solange dein Hoster das nicht als Sicherheitsrisiko ansieht (was es faktisch jetzt schon ist) und dich zur Nutzung von PHP 8.x verpflichtet. Spätestens dann musst Du dir dazu Gedanken machen.

    Wenn das Thema für dich damit erledigt ist, kannst Du das Topic gerne auf gelöst setzen.

    Hallo,
    das ist natürlich deine Entscheidung. Aber an sich ist das so, als wenn du mit einem uralten Wagen eine längere Reise planst. Der Wagen macht schon einige seltsame Geräusche und Ersatzteile gibt es dafür zumindest zum Teil nicht.
    Für mich klingt das nicht nach einer guten Idee. 😉

    Viele Grüße
    Hans-Gerd

    Thread-Starter taich

    (@taich)

    Also weil mir ja den ganzen Tag so fad ist habe ich ein frisches WordPress 6.7.1 (latest.tar) installiert. Es gibt keine Plugins und es wird das neueste WordPress Theme verwendet. Alles läuft unter Ubuntu 24.04 mit den letzten Updates und dem PHP repository https://ppa.launchpadcontent.net/ondrej/php/ubuntu/

    Mit php8.1-fpm.service bekomme ich bei Website Zustand folgende Meldung:

    Das REST-API ist eine Möglichkeit, wie WordPress und andere Anwendungen mit dem Server kommunizieren. Der Bildschirm des Block-Editors beispielsweise stützt sich auf die REST-API, um deine Beiträge und Seiten anzuzeigen und zu speichern. Das REST-API hat den Abfrageparameter context nicht korrekt verarbeitet.

    Zusätzlich können beim Bericht die Verzeichnisgrößen nicht berechnet werden.

    Wenn ich das ganze mit php7.4-fpm.service laufen lasse funktioniert alles perfekt.

    PS: Ich habe übrigens einen Mercedes 200D aus den Jahr 1978 mit 800 000km der perfekt funktioniert.

    Manchmal haben wir auch den Eindruck, dass WP noch immer nicht komplett reif für PHP 8 ist. Aber das will hier keiner lesen.

    In der Tat kann es passieren, dass 10 frische WP Installationen auf div. Hosts mit PHP 8 Probleme auswerfen, mit 7 aber laufen alle (selbst mit 11zig Plugins) fehlerfrei.
    Ist das nun ein WP Problem oder des Hosts?

    Das klärt vielleicht die Beobachtung der debug.log. Denn wenn dort alles ruhig bleibt, kann man annehmen, das ist kein WP Problem.

    REST API Fehler bei PHP 8 können mitunter allein wegen irgendwelchen Einstellungen des Hosts sein.
    Sogar eine exakte Kopie der Seite kann auf einem anderen Host problemlos mit PHP 8.3 laufen!

    Also wäre bei deinem Experiment, genau bei dieser Konstellation interessant, was die Fehlerbehandlung auswirft und was der Hoster zum API Fehler sagt.

    PS: Fahre uralte Landys – die werden noch all die neumodischen Karren überleben (und wo die hinkommen, kommen nur wenige hin).
    Aber: Man muss auch mit deren Macken klarkommen.
    Der Unterschied ist nur: Fehler bei Neuwagen ärgern einen, weil Neu, weil teuer und so unwahrscheinlich – Fehler beim alten sind ja eh klar und man hat sich daran gewöhnt und sie als schrullige Angewohnheit eingeordnet.

    Thread-Starter taich

    (@taich)

    @gammatester Es tut so gut deinen Kommentar zu lesen. Ich bin doch nicht alleine. Danke dafür.

Ansicht von 15 Antworten – 1 bis 15 (von insgesamt 21)