Support » Allgemeine Fragen » PHP Fatal Errors
PHP Fatal Errors
-
Hi,
ich bräuchte mal bitte Euere Hilfe oder Einschätzung.
ich sehe bei mir im PHP Error Log sehr viele Warning und Fatal Error. Wir dachten erst, dass es einen Konfikt wegen dem Memcache & WP Rocket gibt, aber ich habe den Mamcache gestern deaktiviert.
Wie man sieht, laufen trotzdem PHP Fehler auf.
Was ich nicht verstehe: ein Fatal Error bedeutet doch eigentlich (so kenne ich es zumindest), dass die Seite ab dann nicht mehr erreichbar ist, bis man den Error beseitigt. Ich merke aber keine Ausfälle und habe selber nichts geändert. Und die Seite ist immer live.
Und wie kommt es überhaupt zu einem Fatal Error, wenn laut Beschreibung nur eine Klasse fehlt?
Uncaught Error: Class „WP_Widget“ not foundHier auch nochmal ein Screenshot von den Logs.
Weiß jemand, was es damit auf sich haben kann und vor allem, wie ich es beheben kann?
Viele Grüße
MichaelDie Seite, für die ich Hilfe brauche: [Anmelden, um den Link zu sehen]
-
Da läuft ja einiges schief …
Die Konstante
ABSPATH
(der „absolute Pfad zur WordPress-Installation“) wird am Ende derwp-config.php
gesetzt. Wenn der Wert dieser Konstante nicht richtig ausgelesen werden kann, müsste es aber grundsätzlich Probleme geben. Vielleicht magst du mal den Inhalt der Dateiwp-config.php
posten (und dabei natürlich Zugangsdaten und SALT-Keys vor dem Absenden aus der Antwort entfernen)?Wir werden nicht müde darauf hinzuweisen, dass wir Fehler nur beurteilen können, wenn wir hinreichend mit Informationen versorgt werden. Das steht auch in unserem angehefteten Beitrag Bevor du ein neues Thema (Thread) erstellst – also, bitte unter Werkzeuge > Website-Zustand > Bericht den Button anklicken und dann den Bericht unverändert in deiner Antwort anhängen. Die meisten Benutzer schaffen das.
Eine erneute Aktualsierung von WordPress hast du schon probiert?
@pixolin
Da ist was mit deinem Link schief gelaufen 😀@bscu – stimmt. Ist korrigiert.
Danke für Euer erstes Feedback.
Hier erstmal der Inhalt meiner wp-config:
<?php //Begin Really Simple SSL session cookie settings @ini_set('session.cookie_httponly', true); @ini_set('session.cookie_secure', true); @ini_set('session.use_only_cookies', true); //END Really Simple SSL define( 'WP_CACHE', true ); // Added by WP Rocket define('FORCE_SSL_ADMIN', true); define( 'WP_DEBUG', false); define( 'WP_DEBUG_LOG', false); define( 'WP_DEBUG_DISPLAY', false ); define( 'DISALLOW_FILE_EDIT',true); define( 'WP_MEMORY_LIMIT', '768M' ); define( 'WP_MAX_MEMORY_LIMIT', '2G' ); define( 'DISABLE_WP_CRON', true); define( 'WPML_TAXONOMY_TRANSLATION_MAX_TERMS_RESULTS_SET' , 8000); /** * Grundeinstellungen für WordPress * * Zu diesen Einstellungen gehören: * * * MySQL-Zugangsdaten, * * Tabellenpräfix, * * Sicherheitsschlüssel * * und ABSPATH. * * Mehr Informationen zur wp-config.php gibt es auf der * {@link https://codex.wordpress.org/Editing_wp-config.php wp-config.php editieren} * Seite im Codex. Die Zugangsdaten für die MySQL-Datenbank * bekommst du von deinem Webhoster. * * Diese Datei wird zur Erstellung der wp-config.php verwendet. * Du musst aber dafür nicht das Installationsskript verwenden. * Stattdessen kannst du auch diese Datei als wp-config.php mit * deinen Zugangsdaten für die Datenbank abspeichern. * * @package WordPress */ // ** MySQL-Einstellungen ** // /** Diese Zugangsdaten bekommst du von deinem Webhoster. **/ /** * Ersetze datenbankname_hier_einfuegen * mit dem Namen der Datenbank, die du verwenden möchtest. */ define( 'DB_NAME', "XXX" ); /** * Ersetze benutzername_hier_einfuegen * mit deinem MySQL-Datenbank-Benutzernamen. */ define( 'DB_USER', "XXX" ); /** * Ersetze passwort_hier_einfuegen mit deinem MySQL-Passwort. */ define( 'DB_PASSWORD', "XXX" ); /** * Ersetze localhost mit der MySQL-Serveradresse. */ define( 'DB_HOST', "localhost" ); /** * Der Datenbankzeichensatz, der beim Erstellen der * Datenbanktabellen verwendet werden soll */ define( 'DB_CHARSET', 'utf8mb4' ); /** * Der Collate-Type sollte nicht geändert werden. */ define('DB_COLLATE', ''); /**#@+ * Sicherheitsschlüssel * * Ändere jeden untenstehenden Platzhaltertext in eine beliebige, * möglichst einmalig genutzte Zeichenkette. * Auf der Seite {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service} * kannst du dir alle Schlüssel generieren lassen. * Du kannst die Schlüssel jederzeit wieder ändern, alle angemeldeten * Benutzer müssen sich danach erneut anmelden. * * @since 2.6.0 */ define( 'AUTH_KEY', 'XXX' ); define( 'SECURE_AUTH_KEY', 'XXX' ); define( 'LOGGED_IN_KEY', 'XXX' ); define( 'NONCE_KEY', 'XXX' ); define( 'AUTH_SALT', 'XXX' ); define( 'SECURE_AUTH_SALT', 'XXX' ); define( 'LOGGED_IN_SALT', 'XXX' ); define( 'NONCE_SALT', 'XXX' ); /**#@-*/ /** * WordPress Datenbanktabellen-Präfix * * Wenn du verschiedene Präfixe benutzt, kannst du innerhalb einer Datenbank * verschiedene WordPress-Installationen betreiben. * Bitte verwende nur Zahlen, Buchstaben und Unterstriche! */ $table_prefix = 'omp_'; /** * Für Entwickler: Der WordPress-Debug-Modus. * * Setze den Wert auf „true“, um bei der Entwicklung Warnungen und Fehler-Meldungen angezeigt zu bekommen. * Plugin- und Theme-Entwicklern wird nachdrücklich empfohlen, WP_DEBUG * in ihrer Entwicklungsumgebung zu verwenden. * * Besuche den Codex, um mehr Informationen über andere Konstanten zu finden, * die zum Debuggen genutzt werden können. * * @link https://codex.wordpress.org/Debugging_in_WordPress */ /* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß. */ define( 'MEDIA_TRASH', true ); /* That's all, stop editing! Happy publishing. */ /** Der absolute Pfad zum WordPress-Verzeichnis. */ if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', dirname( __FILE__ ) . '/' ); } /** Definiert WordPress-Variablen und fügt Dateien ein. */ require_once( ABSPATH . 'wp-settings.php' );
Und hier seht ihr noch der Bericht:
### wp-core ### version: 5.9.1 site_language: de_DE user_language: de_DE permalink: /%category%/%postname% https_status: true user_registration: 0 default_comment_status: open multisite: false user_count: 2 dotorg_communication: true ### wp-paths-sizes ### wordpress_path: XXX wordpress_size: 657,99 MB (689952169 bytes) uploads_path: XXX/wp-content/uploads uploads_size: 47,49 GB (50996262254 bytes) themes_path: XXX/wp-content/themes themes_size: 14,34 MB (15033538 bytes) plugins_path: XXX/wp-content/plugins plugins_size: 273,58 MB (286870065 bytes) database_size: 842,63 MB (883556352 bytes) total_size: 49,24 GB (52871674378 bytes) ### wp-dropins (1) ### advanced-cache.php: true ### wp-active-theme ### name: X – Child Theme (x-child) version: 1.0.0 author: Themeco author_website: http://theme.co/ parent_theme: X (x) theme_features: core-block-patterns, cornerstone, cornerstone-theming, cornerstone-legacy-portfolio, cornerstone-legacy-sidebars, widgets-block-editor, post-thumbnails, title-tag, automatic-feed-links, post-formats, woocommerce, wc-product-gallery-zoom, wc-product-gallery-lightbox, wc-product-gallery-slider, align-wide, wp-block-styles, widgets, menus, editor-style theme_path: XXX/wp-content/themes/x-child ### wp-parent-theme ### name: X (x) version: 9.1.4 author: Themeco author_website: https://theme.co theme_path: XXX/wp-content/themes/x ### wp-mu-plugins (2) ### Health Check Troubleshooting Mode: author: (undefined), version: 1.7.2 Perfmatters MU: version: 1.8.6, author: forgemedia ### wp-plugins-active (37) ### Advanced Custom Fields Multilingual: version: 1.9.5, author: OnTheGoSystems Advanced Custom Fields PRO: version: 5.11.4, author: Delicious Brains Ajax Search Pro: version: 4.21.12, author: Ernest Marcinko Cornerstone: version: 6.1.4, author: Themeco Custom 404: version: 2.0.5, author: Themeco Custom Upload Dir: version: 3.4.6, author: Ulf Benjaminsson Disable Gutenberg: version: 2.6, author: Jeff Starr Easy Table of Contents: version: 2.0.17, author: Steven A. Zahm Elite Video Player: version: 6.7.3, author: _CreativeMedia_ Fixed Widget: version: 6.0.5, author: Thomas Maier, Max Bond Health Check & Troubleshooting: version: 1.4.5, author: The WordPress.org community Jetpack: version: 10.7, author: Automattic Justified Image Grid: version: 4.2.1, author: Firsh Perfmatters: version: 1.8.6, author: forgemedia Permalink Manager Pro: version: 2.2.16, author: Maciej Bis Prosodia VGW OS: version: 3.25.3, author: Prosodia – Verlag für Musik und Literatur Rank Math SEO: version: 1.0.83, author: Rank Math Rank Math SEO PRO: version: 3.0.7, author: Rank Math Real Cookie Banner: version: 2.16.1-9813, author: devowl.io Really Simple SSL: version: 5.2.3, author: Really Simple Plugins Really Simple SSL pro: version: 5.3.0, author: Really Simple Plugins Real Media Library: version: 4.17.11, author: devowl.io Redirection: version: 5.2.3, author: John Godley Shortcoder: version: 5.6, author: Aakash Chakravarthy ShortPixel Image Optimizer: version: 4.22.8, author: ShortPixel ThirstyAffiliates: version: 3.10.4, author: Caseproof Widget Options: version: 3.7.14, author: Widget Options Team wp-jquery-lightbox: version: 1.4.8.3, author: Ulf Benjaminsson WP-Matomo Integration: version: 1.0.27, author: André Bräkling WP External Links: version: 2.51, author: WebFactory Ltd WPForms Lite: version: 1.7.2.1, author: WPForms WPML Media: version: 2.7.0, author: OnTheGoSystems WPML Multilingual CMS: version: 4.5.5, author: OnTheGoSystems WPML SEO: version: 2.0.1, author: OnTheGoSystems WPML String Translation: version: 3.2.1, author: OnTheGoSystems WP Rocket: version: 3.10.8, author: WP Media ### wp-plugins-inactive (2) ### Cache Master: version: 2.1.1, author: Terry Lin wpDiscuz: version: 7.3.12, author: gVectors Team ### wp-media ### image_editor: WP_Image_Editor_Imagick imagick_module_version: 1687 imagemagick_version: ImageMagick 6.9.7-4 Q16 x86_64 20170114 http://www.imagemagick.org imagick_limits: imagick::RESOURCETYPE_AREA: 251 GB imagick::RESOURCETYPE_DISK: 1.84467440737E+19 imagick::RESOURCETYPE_FILE: 49152 imagick::RESOURCETYPE_MAP: 251 GB imagick::RESOURCETYPE_MEMORY: 126 GB imagick::RESOURCETYPE_THREAD: 1 gd_version: 2.2.5 ghostscript_version: 9.26 ### wp-server ### server_architecture: Linux 5.4.0-100-generic x86_64 httpd_software: Apache/2.4 php_version: 8.0.16 64bit php_sapi: fpm-fcgi max_input_variables: 5000 time_limit: 6000 memory_limit: 2G max_input_time: 1800 upload_max_size: 512M php_post_max_size: 128M curl_version: 7.58.0 OpenSSL/1.1.1 suhosin: false imagick_availability: true server-headers: server: openresty date: Thu, 03 Mar 2022 13:31:20 GMT content-type: text/html; charset=UTF-8 vary: Array x-lima-id: ar3U3Yaoi2fgWbbDEW x-powered-by: PHP/8.0.16 expires: Wed, 11 Jan 1984 05:00:00 GMT cache-control: no-cache, must-revalidate, max-age=0 link: <https://one-million-places.com/wp-json/>; rel="https://api.w.org/", <https://one-million-places.com/wp-json/wp/v2/pages/21>; rel="alternate"; type="application/json" strict-transport-security: max-age=63072000; includeSubDomains; preload content-security-policy: upgrade-insecure-requests x-xss-protection: 1; mode=block x-content-type-options: nosniff referrer-policy: no-referrer-when-downgrade expect-ct: max-age=7776000, enforce x-frame-options: SAMEORIGIN content-encoding: gzip htaccess_extra_rules: true ### wp-database ### extension: mysqli server_version: 8.0.25-15 client_version: mysqlnd 8.0.16 ### wp-constants ### WP_HOME: undefined WP_SITEURL: undefined WP_CONTENT_DIR: XXX/wp-content WP_PLUGIN_DIR: XXX/wp-content/plugins WP_MAX_MEMORY_LIMIT: 2G WP_DEBUG: false WP_DEBUG_DISPLAY: false WP_DEBUG_LOG: true SCRIPT_DEBUG: false WP_CACHE: true CONCATENATE_SCRIPTS: undefined COMPRESS_SCRIPTS: undefined COMPRESS_CSS: undefined WP_LOCAL_DEV: undefined ### wp-filesystem ### wordpress: writable wp-content: writable uploads: writable plugins: writable themes: writable mu-plugins: writable ### jetpack ### site_id: 77861108 ssl_cert: No time_diff: undefined version_option: 10.7:1646148312 old_version: 10.6:1644504892 public: Public master_user: #1 onemillionplaces current_user: #1 onemillionplaces tokens_set: Blog User blog_token: XXX user_token: XXX version: 10.7 jp_plugin_dir: XXX/wp-content/plugins/jetpack/ plan: free protect_header: {"trusted_header":"REMOTE_ADDR","segments":1,"reverse":false} full_sync: {"started":"Fri, 25 Feb 2022 12:18:30 +0000","finished":"Fri, 25 Feb 2022 12:18:38 +0000","progress":{"options":{"finished":true},"functions":{"finished":true},"constants":{"finished":true},"users":{"total":"1","sent":1,"finished":true,"last_sent":"1"},"network_options":{"finished":true}},"config":{"options":true,"functions":true,"constants":true,"users":[1],"network_options":true}} sync_size: undefined sync_lag: 0 seconds full_sync_size: undefined full_sync_lag: 0 seconds idc_urls: {"home":"https:\/\/one-million-places.com","siteurl":"https:\/\/one-million-places.com","WP_HOME":"","WP_SITEURL":""} idc_error_option: false idc_optin: true cxn_tests: All Pass. ### wpforms ### version: 1.7.2.1 lite: Apr 19, 2020 @ 11:38pm upload_dir: Beschreibbar db_tables: omp_wpforms_db, omp_wpforms_tasks_meta total_forms: 2 total_submissions: 81
Eine erneute Aktualsierung von WordPress hast du schon probiert?
Nein, bisher noch nicht. Einfach unter Aktualisierungen den Button „Version 5.9.1-de_DE erneut installieren“ ausführen?
Vielleicht noch als Info:
Ich hatte meine Webseite zum testen zu einem neuen Host übertragen, habe dort die Seite erstmal unter eine kostenlosen Domain laufen lassen und noch ein paar Änderungen/Anpassungen vorgenommen. Als ich soweit fertig war, habe ich den A Record auf den neuen Host umgestellt und im WordPress (Einstellungen › Allgemein) die kostenlos Domain gegen meine richtige Domain ausgetauscht.
Aber ich habe auch mit Search & Replace in der Datenbank gesucht und noch ein paar Einträge mit der „falschen“ kostenlosen Domain gefunden. Die habe ich per SQL Update ausgetauscht.
Kann es sein, dass die Fehler durch die Miragtion und eine nicht vollständige Änderung der URL kommen?
-
Diese Antwort wurde geändert vor 1 Jahr von
michaelxxx.
Hallo,
da sind so einige Dinge, die nicht ok sind:- offenbar hast du die wp-config.php mit einem Editor bearbeitet, der nicht geeignet ist (siehe Umlaute, etc.). Ein geeigneter Editor ist z. B. Notepad++. Das könnte schon die genannten Probleme verursachen
- Jetpack ist in der Regel nicht datenschutzkonform. Am besten deinstallierst du das Plugin
- Deine WordPress-Instanz ist mit 49,24 GB ziemlich groß. Überprüfe doch bitte mal, ob du da noch alte Sicherungen hast, die du löschen könntest.
- Really Simple SSL ist bei korrekter Umsetzung von SSL überflüssig
- Es gibt einige Plugins und Themes, die mit PHP 8.x nicht zurecht kommen. Stelle bitte sicherheitshalber mal auf PHP 7.4 um
Viele Grüße
Hans-GerdHallo @hage,
Danke für Dein Feedback.
Ich hab die wp-config nochmal mit Notepad++ geöffnet, da sieht alles ok aus. Warum das hier so komisch aussieht mit den Umlauten usw. weiß ich grad nicht. Die sind in der Original php aber alle ok 😉
Hab mal auf PHP 7.4 umgestellt.
Und Danke für die anderen Hinweise, wobei daran sich ja noch nicht der Fatal Error wie dieser erklärt, oder?
Die Konstante ABSPATH (der „absolute Pfad zur WordPress-Installation“) wird am Ende der wp-config.php gesetzt. Wenn der Wert dieser Konstante nicht richtig ausgelesen werden kann, müsste es aber grundsätzlich Probleme geben.
-
Diese Antwort wurde geändert vor 1 Jahr von
michaelxxx.
Einfach unter Aktualisierungen den Button „Version 5.9.1-de_DE erneut installieren“ ausführen?
Ja. Damit könnten wir zumindest ausschließen, dass beim letzten Update Dateien nicht richtig übertragen wurden.
Ich hab die wp-config nochmal mit Notepad++ geöffnet, da sieht alles ok aus.
Darum geht es nicht. Die Frage ist vielmehr, ob PHP das richtig einlesen kann. Dazu muss die Datei in der richtigen Zeichenkodierung „UTF-8 (ohne Byte Order Mark)“ gespeichert werden – Programmiereditoren machen das eigentlich automatisch, während Windows Notepad es automatisch falsch macht.
Und Danke für die anderen Hinweise, wobei daran sich ja noch nicht der Fatal Error wie dieser erklärt, oder?
Das versuchen wir gerade im Ausschlußprinzip herauszufinden. Wenn du beim Arzt bist und gefragt wirst, wann denn die Probleme auftauchen, wirst du wohl auch nicht antworten „Wieso, Sie sind doch der Arzt?“ 😀
Was fällt dir an diesen beiden Zeilen auf?
/* Das war’s, Schluss mit dem Bearbeiten! Viel Spaß. */ define( 'MEDIA_TRASH', true );
😉 (ist aber für das Problem irrelevant)
-
Diese Antwort wurde geändert vor 1 Jahr von
Bego Mario Garde.
Was fällt dir an diesen beiden Zeilen auf?
Da hab ich doch geschrieben, dass das nicht so aussieht, wenn ich die wp-config mit Notepad++ öffnet. Das ist nur beim rauskopieren und bearbeiten für das Einstellen hier im Forum passiert 😉
Das versuchen wir gerade im Ausschlußprinzip herauszufinden.
Ich hab ja auf 7.4 umgestellt und seitdem laufen zumindest keine mehr Fehler ein. Kann Zufall sein, aber vielleicht lag es ja schon daran.
Die Konstante ABSPATH (der „absolute Pfad zur WordPress-Installation“) wird am Ende der wp-config.php gesetzt.
Aber nochmal zurück zum Ursprung. Hier jetzt nochmal die „ordentliche“ wp-config. Sieht da alles normal und richtig aus? Oder gibt es da irgendwas, was den Fehler mit dem ABSPATH erklären würde?
<?php define( 'WP_CACHE', true ); //Begin Really Simple SSL session cookie settings @ini_set('session.cookie_httponly', true); @ini_set('session.cookie_secure', true); @ini_set('session.use_only_cookies', true); // Added by WP Rocket define( 'WP_ROCKET_LASTVERSION', '3.10.6' ); define( 'FORCE_SSL_ADMIN', true ); define( 'WP_DEBUG', false ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false ); define( 'DISALLOW_FILE_EDIT', true ); define( 'DISABLE_WP_CRON', true ); define( 'WPML_TAXONOMY_TRANSLATION_MAX_TERMS_RESULTS_SET' , 8000); define( 'DB_NAME', "XXX" ); define( 'DB_USER', "XXX" ); define( 'DB_PASSWORD', "XXX" ); define( 'DB_HOST', "localhost" ); define( 'DB_CHARSET', 'utf8mb4' ); define('DB_COLLATE', ''); define( 'AUTH_KEY', 'XXX' ); define( 'SECURE_AUTH_KEY', 'XXX' ); define( 'LOGGED_IN_KEY', 'XXX' ); define( 'NONCE_KEY', 'XXX' ); define( 'AUTH_SALT', 'XXX' ); define( 'SECURE_AUTH_SALT', '(XXX' ); define( 'LOGGED_IN_SALT', 'XXX' ); define( 'NONCE_SALT', 'XXX' ); $table_prefix = 'XXX_'; define( 'MEDIA_TRASH', true ); if ( ! defined( 'ABSPATH' ) ) { define( 'ABSPATH', dirname(__FILE__) . '/' ); } require_once( ABSPATH . 'wp-settings.php' );
Da sollte eigentlich u.a. sowas drin stehen:
/** Absolute path to the WordPress directory. */ if ( !defined('ABSPATH') ) define('ABSPATH', dirname(__FILE__) . '/');
-
Diese Antwort wurde geändert vor 1 Jahr von
bscu.
Da sollte eigentlich u.a. sowas drin stehen:
Aber so wie Du es gepostet hast, steht es doch auch in meiner php? Nur das // Kommentar Feld hatte ich zur besseren Übersicht rausgenommen.
Aber so wie Du es gepostet hast, steht es doch auch in meiner php?
Sorry, da habe ich wohl nicht richtig hingesehen.
@michaelxxx
so wie ich das sehe, scheint das jetzt so weit alles ok zu sein.
Schau doch mal bitte, ob du noch Fehler erhältst. Falls nicht, wäre es schön, wenn du das Thema als gelöst markierst.Da hab ich doch geschrieben, dass das nicht so aussieht, wenn ich die wp-config mit Notepad++ öffnet.
Das war ja auch nicht gemeint.
Die Core-Entwickler haben in ihrer Weisheit in der
wp-config.php
eine Zeile
/* That's all, stop editing! Happy blogging. */
eingefügt, die in der deutschsprachigen Version zusätzlich mit
/* Das war's, Schluss mit dem Bearbeiten! Viel Spaß. */
übersetzt wurde. Wofür ist das gut? Es soll Anwendern signalisieren, dass unterhalb dieser Zeile kein Code mehr eingefügt werden soll. Hast du dich dran gehalten? Nein:/* Das war's, Schluss mit dem Bearbeiten! Viel Spaß. */ define( 'MEDIA_TRASH', true ); /* That's all, stop editing! Happy publishing. */
Kann aber auch sein, dass ein Plugin tatsächlich nach der Zeile
/* That's all, stop editing! Happy publishing. */
gesucht und den Eintrag selbständig hinzugefügt hat. Wie gesagt auch nicht wirklich tragisch. 🙂Ich hab ja auf 7.4 umgestellt und seitdem laufen zumindest keine mehr Fehler ein.
Gut möglich, da noch längst nicht alle Plugins auf PHP8 umgestellt sind. Dass dann eine Konstante
ABSPATH
nicht gefunden wird, finde ich trotzdem komisch.Wenn neue Fehlermeldungen auftauchen, müssen wir eben weitersuchen. Ansonsten ist das Problem doch gelöst? Markierst du den Thread dann bitte noch als „gelöst“?
Wenn neue Fehlermeldungen auftauchen, müssen wir eben weitersuchen.
Aktuell sieht es so aus, als würden keine neuen Fehlermeldungen reinkommen. Dann lag es wohl an PHP 8.0…
Hat Ihr vielleicht noch eine Info oder Anmerkung zu meiner Eingangsfrage?
Was ich nicht verstehe: ein Fatal Error bedeutet doch eigentlich (so kenne ich es zumindest), dass die Seite ab dann nicht mehr erreichbar ist, bis man den Error beseitigt. Ich merke aber keine Ausfälle und habe selber nichts geändert. Und die Seite ist immer live.
-
Diese Antwort wurde geändert vor 1 Jahr von
michaelxxx.
Ein Fatal Error ist ein Programmierfehler, der so schwerwiegend ist, dass die Ausführung abgebrochen und im Browser nur eine leere Seite angezeigt wird („White Screen of Death“), um Angreifern keine Informationen über das Problem zu liefern.
Ein Fatal Error legt aber nicht zwingend die gesamte Website lahm. Nehmen wir an, ich erstelle ein Plugin, das bei Aufruf des Backend-Headers eine Funktion aufrufen soll. Diese Funktion verwendet eine PHP-Class, die es nicht gibt, führt also bei Öffnen von
wp-admin
zu einem fatalen Fehler:add_action('admin_head', 'pix_fatal_error'); function pix_fatal_error(){ echo 'line 1'; $a = new FakeClass(); // fatal error. Class doesn't exist so PHP aborts echo 'line 2'; // <- never executed }
Das Front End ist davon nicht betroffen, weil die Funktion dort gar nicht ausgeführt wird. Es gibt also einen Fatal Error, der sich nur in einem Teil meiner Website bemerkbar macht (hier im Backend).
(Das Code-Beispiel habe ich diesem Thread entnommen, um rascher ein Beispiel zur Hand zu haben: https://stackoverflow.com/a/38670763/12490449)
-
Diese Antwort wurde geändert vor 1 Jahr von
- Das Thema „PHP Fatal Errors“ ist für neue Antworten geschlossen.