Du schreibst, dass eine Umstellung von PHP 5.x auf PHP 8.0 erfolgt ist, dass aber vor dem Upgrade ein Programmierfehler zu einem White Screen of Death geführt hat.
Nun ist PHP 5.x wirlich inzwischen antiquiert und gut möglich, dass durch eine automatische Aktualisierung PHP-Skripte geladen wurden, die sich mit PHP 5.x nicht vertragen. Eine „Forensik“ ist hier ein wenig schwierig und vor allem wenig hilfreich, um die Website wieder flott zu machen. Scheinbar ist aber unter PHP8 eine Anmeldung im Backend möglich? Dann würde ich den White Screen of Death als interessantes Erlebnis abhaken. 🙂
Dass das Menü Plugins nur eine leere Seite anzeigt wird vermutlich mit einem Programmierfehler in einem Plugin zusammenhängen, wobei wir zunächst nicht wissen, welches das ist. Deshalb ist der übliche Schritt, das Plugin-Verzeichnis z.B. in no.plugins
umzubenennen, damit erst einmal alle Plugins (vorübergehend) deaktiviert werden. Danach sollte das Menü Plugins aufzurufen sein, aber keine Plugins anzeigen. Ist das so, kann das Plugin-Verzeichnis wieder in wp-content/plugins
umbenannt werden. Gibt es Updates, sollten die zuerst ausgeführt werden. Danach können die Plugins einzeln wieder aktiviert werden. Tritt der Fehler erneut auf, lässt sich die Ursache auf das zuletzt aktivierte Plugin eingrenzen – also das Verzeichnis dieses Plugins umbenennen.
Verzeichnisrechte auf 777 zu setzen ist eine ganz schlechte Idee. Mach das bitte schnellstmöglich rückgängig. Verzeichnisse sollten rekursiv auf 755, einzelne Dateien auf 644 gesetzt werden.
Schau mal, wie weit du damit kommst und gib uns eine Rückmeldung, was so alles passiert ist. Ein Website-Bericht zu deiner Multisite wäre auch hilfreich. (Haupt-Website: Werkzeuge > Website-Zustand > Bericht > Button anklicken, Inhalt der Zwischenablage hier in eine Antwort einfügen, nix dran rumfummeln, absenden.)
Danke für deine schnelle Antwort!
Genau, mit PHP 8 kann ich mich im Backend einloggen. Ob das davor ging, müsste ich meine Kundin fragen. Aber wie du schon sagst, wird es wenig hilfreich sein.
Ich hab das Plugin Verzeichnis temporär in no.plugins
umbenannt. Keine Änderung.
Auf der Plugin-Seite steht nach wie vor „Momentan sind keine Plugins verfügbar.“ Das Verzeichnis heißt jetzt wieder plugins
.
777 war natürlich nur ein Test – dass das keine Dauerlösung ist, weiß ich. 🙂 Steht längst wieder auf 755.
Hier der Bericht:
### wp-core ###
version: 6.1.1
site_language: de_DE
user_language: de_DE
timezone: Europe/Berlin
permalink: /blog/%postname%/
https_status: true
multisite: true
user_registration: false
blog_public: 1
default_comment_status: open
environment_type: production
site_count: 2
network_count: 1
user_count: 1
dotorg_communication: true
### wp-dropins (1) ###
advanced-cache.php: true
### wp-active-theme ###
name: Twenty Twenty-Three (twentytwentythree)
version: 1.0
author: WordPress-Team
author_website: https://de.wordpress.org
parent_theme: none
theme_features: core-block-patterns, post-thumbnails, responsive-embeds, editor-styles, html5, automatic-feed-links, block-templates, widgets-block-editor
theme_path: /homepages/37/d859176158/htdocs/wordpress-multisite/wp-content/themes/twentytwentythree
auto_update: Deaktiviert
### wp-themes-inactive (2) ###
Gesundheits-Theme: version: 1.0.0, author: Marty Baldus, Automatische Aktualisierungen deaktiviert
Twenty Twenty-Two: version: 1.3, author: WordPress-Team, Automatische Aktualisierungen deaktiviert
### wp-mu-plugins (1) ###
Elementor Safe Mode: version: 1.0.0, author: Elementor.com
### wp-media ###
image_editor: WP_Image_Editor_GD
imagick_module_version: Nicht verfügbar
imagemagick_version: Nicht verfügbar
imagick_version: Nicht verfügbar
file_uploads: File uploads is turned off
post_max_size: 64M
upload_max_filesize: 64M
max_effective_size: 64 MB
max_file_uploads: 20
gd_version: 2.2.5
gd_formats: GIF, JPEG, PNG, WebP, BMP, XPM
ghostscript_version: 9.27
### wp-server ###
server_architecture: Linux 4.4.302-icpu-088 x86_64
httpd_software: Apache
php_version: 8.0.25 64bit
php_sapi: cgi-fcgi
max_input_variables: 5000
time_limit: 50000
memory_limit: -1
max_input_time: -1
upload_max_filesize: 64M
php_post_max_size: 64M
curl_version: 7.64.0 OpenSSL/1.1.1n
suhosin: false
imagick_availability: false
pretty_permalinks: true
htaccess_extra_rules: true
### wp-database ###
extension: mysqli
server_version: 5.7.38-log
client_version: mysqlnd 8.0.25
max_allowed_packet: 67108864
max_connections: 3000
### wp-constants ###
WP_HOME: undefined
WP_SITEURL: undefined
WP_CONTENT_DIR: /homepages/37/d859176158/htdocs/wordpress-multisite/wp-content
WP_PLUGIN_DIR: /homepages/37/d859176158/htdocs/wordpress-multisite/wp-content/plugins
WP_MEMORY_LIMIT: 64M
WP_MAX_MEMORY_LIMIT: -1
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: Nicht definiert
DB_CHARSET: utf8mb4
DB_COLLATE: undefined
### wp-filesystem ###
wordpress: writable
wp-content: writable
uploads: writable
plugins: not writable
themes: writable
mu-plugins: writable
-
Diese Antwort wurde geändert vor 1 Jahr, 4 Monaten von ichbinmarty.
-
Diese Antwort wurde geändert vor 1 Jahr, 4 Monaten von ichbinmarty. Grund: Tippfehler + Genauigkeit Antwort
Hast du mal geschaut, ob in wp-content/plugins
eine .htaccess
vorhanden ist? Falls ja, mit welchem Inhalt?
Hast du die .htaccess
im Web-Stammverzeichnis geprüft?
Die .htaccess
in wp-content/plugins
:
<FilesMatch "\.(?i:php)$">
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>
Und die .htaccess
im Stammverzeichnis:
# Really Simple SSL
Header set Strict-Transport-Security "max-age=15768000; includeSubDomains" env=HTTPS
Header always set Content-Security-Policy "upgrade-insecure-requests"
Header always set X-Content-Type-Options "nosniff"
Header always set X-XSS-Protection "1; mode=block"
Header always set Expect-CT "max-age=7776000, enforce"
Header always set Referrer-Policy: "no-referrer-when-downgrade"
# End Really Simple SSL
<IfModule mod_headers.c>
#Umleitung http zu https
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
# BEGIN WordPress
# Die Anweisungen (Zeilen) zwischen „BEGIN WordPress“ und „END WordPress“ sind
# dynamisch generiert und sollten nur über WordPress-Filter geändert werden.
# Alle Änderungen an den Anweisungen zwischen diesen Markierungen werden überschrieben.
RewriteEngine On
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# END WordPress
# Block Spam IP
Order Deny,Allow
Deny from 37.139.53.83
# End Block Spam IP
Keine Ahnung, woher die .htaccess
im Plugin-Verzeichnis stammt. Könnte von einem Sicherheits-Plugin stammen … Benenn die Datei bitte mal in no.htaccess
um – wie schaut’s dann aus?
Hm, das überrascht mich. Du solltest den Support deines Webhosters nochmal draufschauen lassen.
Habe ich, die konnten mir nicht helfen. Bin nicht sicher, ob ich überhaupt richtig verstanden wurde. Ich kann es allerdings nochmal (an einem anderen Tag) versuchen.
War grade unter „Kommentare“ in WordPress und finde dort folgende Fehlermeldungen:
Warning: Attempt to read property "labels" on null in /homepages/37/d859176158/htdocs/wordpress-multisite/wp-admin/includes/class-wp-comments-list-table.php on line 1050
und
Warning: Attempt to read property "view_item" on null in /homepages/37/d859176158/htdocs/wordpress-multisite/wp-admin/includes/class-wp-comments-list-table.php on line 1050
Bin nicht sicher, woher das kommt oder ob es was mit dieser Sache hier zutun hat.
Habe auch gesehen, dass die selbe .htaccess
Datei im /wp-content
Ordner ist:
<FilesMatch "\.(?i:php)$">
<IfModule !mod_authz_core.c>
Order allow,deny
Deny from all
</IfModule>
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
</FilesMatch>
-
Diese Antwort wurde geändert vor 1 Jahr, 4 Monaten von ichbinmarty.
-
Diese Antwort wurde geändert vor 1 Jahr, 4 Monaten von ichbinmarty.
-
Diese Antwort wurde geändert vor 1 Jahr, 4 Monaten von ichbinmarty.
-
Diese Antwort wurde geändert vor 1 Jahr, 4 Monaten von ichbinmarty.
Das ist nur ein Warnhinweis, würde ich im Moment ignorieren.