Nach der Installtion von „All in One Security“ werden keine Bilder mehr angezigt

WP Security ⇾ File Security: Prevent hotlinking

WordPress verlangt nach Umzug Neuinstallation, obwohl Datenbank vorhanden ist

Mögliche Ursachen:

  • fehlende Plugins oder Theme
  • Falsche Zugangsdaten Datenbank (insbesondere HostHost Ein Host ist ein Rechner in einem Netzwerk. Dies kann sowohl ein Server als auch ein Client sein. Sobald Sie sich zum Beispiel mit Ihrem Internet-Provider verbunden haben, ist Ihr PC ein Host im Internet. (z.B. eine Mailbox in der DFÜ) falsch)
  • Falscher Tabellen-Suffix in der wp-config.php
    $table_prefix = ‚xyz_‘;

Fehlermeldungen unterdrücken und loggen

In der wp-config.php

define('WP_DEBUG', false);

Ersetzen durch:

ini_set('log_errors','On');
ini_set('display_errors','Off');
ini_set('error_reporting', E_ALL );
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Log-Datei befindet sich in:

/wp-content/debug.log

Mögliche Ursachen:

  • Das Verzeichnis /uploads/… ist nicht beschreibbar: CHMOD 755 setzen
  • Der Speicherplatz ist voll.
  • Dateiendung ist nicht erlaubt ⇾WP Extra File Types: Damit lässt sich die Liste der erlaubten Dateitypen erweitern.
  • voller Speicherplatz
  • Nicht erlaubte Zeichen im Dateinamen
  • Die Rechte des Upload Ordners stimmen nicht (755 oder 775 (webgo))
  • PHP memory ist zu gering eingestellt, die Bilddatei ist also zu groß.
  • www-user hat sich geändert: Über console:
chown www-data:www-data "kompletter Pfad/wp-content/upload/"

Der

Hier gibt es verschiedene Lösungsansätze:

  • Adminbereich -> Elementor -> Tab „Generell“: Alle erforderlichen Inhaltstypen anklicken.
  • Adminbereich -> Einstellungen -> Lesen: Falls unter Homepage- und Beitragsseite die gleiche Seite eingestelltsein sollte, eine nach Möglichkeit auf „Auswählen“ stellen.
  • Templatewechsel
  • Seite mit einem Elementortemplate abspeichern.

In der wp-config.php

define('WP_DEBUG', false);

ändern in

define('WP_DEBUG', true);

Dann „Übeltäter“ deaktiveren.

Dieses Plugin stützt sich auf einige veraltete Funktionen in Elementor.

Sie müssen alle Instanzen von

use Elementor\Scheme_Typography;

ersetzen. mit

use Elementor\Core\Schemes\Typography;

und

Scheme_Typography::

in

Typography::

Gleiches gilt für Scheme_Color.

PhpMyAdmin:

ALTER TABLE `#__menu_types` ADD COLUMN `client_id` int(11) NOT NULL DEFAULT 0;
UPDATE `#__menu` SET `published` = 1 WHERE `menutype` = 'main' OR `menutype` = 'menu';

Damit sind offenbar die geforderten Felder (wieder) vorhanden.

Was man auch noch probieren kann:

http://www.example.com/administrator/index.php?option=com_installer&task=database.fix

In der betreffenden Zeile die geschweifte Klammer durch eckige ersetzen.

Beispiel:

Got error 'PHP message: PHP Fatal error:  Array and string offset access syntax with curly braces is no longer supported in...

Ersetze

$level = $matches[2]{0} == '=' ? 1 : 2;  

durch

$level = $matches[2][0] == '=' ? 1 : 2; 
  • Dubuggen anschalten und schauen, ob ein Plugin oder sonstiger Code den Fehler verursacht oder
  • Im Standardeditor von »Text« auf »Visuell« stellen oder
  • Gutenberg-Editor installieren, aktivieren und Standardeditor deaktivieren.

in dieser Zeile die if-Abfrage anpassen:

if(isset($name[0])) { 
	if ($important = $name[0] == '!') { $name = ltrim($name, '!'); }
}

Mögliche Ursachen:

  • missglücktes WordPress-Update
  • fehlerhaftes Plugin oder Theme
  • beschädigte Datenbank
  • Fehler in der wp-config.php (falsche Zugangsdaten)
    • Stimmen die Datenbank-Zugangsdaten?
    • Ist die Zeile „require_once(ABSPATH . ‚wp-settings.php‘);“ ganz unten vorhanden?
    • Stimmt der Tabellen-Präfix ($table_prefix)?
    • Ist der Key gültig?
define( 'AUTH_KEY',         'TJ&Lwf?3ya~cx)i  e%S~lZ+t#P8}P7,ox+;QmUvFEcyhMJx!lv<6>-VM9M05}[c' );
define( 'SECURE_AUTH_KEY',  'a%`_wL>c:6d^AP-`si>mh }w[>$lwny`VlM&)p{-kkzlfOohnMtF^KX9hmxpyvvc' );
define( 'LOGGED_IN_KEY',    'RT .y`_&YO>3?WS4aSiNpCIxL])BX3j?JgKa8yyKpO5O<Zs@5W+uw4ci@4tua4pc' );
define( 'NONCE_KEY',        'i=zNoJL{OD8hm9eKIE~8WPIVP>rEs1;9#g2?bg>!:+%^~t4B;#mTkABpA,,c90C0' );
define( 'AUTH_SALT',        'hHf`GF1%pMJk6]63SJ3396YP0V>R]G.ss;0v6GOn_xW>j3QsKxaxc:y*np/$2R@/' );
define( 'SECURE_AUTH_SALT', 'd),A.r{@K(,/yS7spQpj<@GKQ7^]1$Wg7jTBg=QMG3#0XONB9Y1W?c9d=N=o?36D' );
define( 'LOGGED_IN_SALT',   '8ZMCMqg=SXgy`,e@Cdozn+-dTWyDCb|~HjxUEWFedK?<Lbli(ayn~i0MAuUK;>c=' );
define( 'NONCE_SALT',       '2lyVbz/oMOo12cnECk3+W$6f(qiTYDF?I!7.H}])t6a#vnrtQ*]{#ME iiVB^Wi:' );

Auf wordpress.org kann man einen neuen Key generieren lassen:

https://api.wordpress.org/secret-key/1.1/salt/

Lösung 1: Einstellungen → Permalinks neu aufrufen oder auf Standard setzen.

  1. Cronjob einrichten, der die Seite zu einem früheren Zeitpunkt aufruft.