Die wp-config.php
Datei ist das Herzstück deiner WordPress-Installation. Sie enthält alle wichtigen Einstellungen und Konfigurationen, die WordPress benötigt, um ordnungsgemäß zu funktionieren. In diesem Beitrag werden wir uns die wichtigsten Konfigurationen ansehen, häufige Probleme erläutern und dir zeigen, wie du sie beheben kannst. Lass uns loslegen!
Grundlegende MySQL-Einstellungen
MySQL Konfigurationsparameter
Diese Einstellungen sind notwendig, um eine Verbindung zu deiner Datenbank herzustellen. Ohne diese Angaben kann WordPress keine Verbindung zur Datenbank aufbauen.
define( 'DB_NAME', 'wp_dbname' );
define( 'DB_USER', 'wp_dbuser' );
define( 'DB_PASSWORD', 'dsgsgdsgsggrwegre' );
define( 'DB_HOST', 'localhost' );
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
- DB_NAME: Der Name deiner WordPress-Datenbank.
- DB_USER: Der Benutzername für den Zugriff auf die Datenbank.
- DB_PASSWORD: Das Passwort für den Datenbankbenutzer.
- DB_HOST: Der Server, auf dem deine Datenbank läuft (in den meisten Fällen
localhost
). - DB_CHARSET: Das Zeichenformat, das für die Datenbanktabellen verwendet wird (meistens
utf8mb4
). - DB_COLLATE: Die Kollation der Datenbank. Standardmäßig leer lassen, wenn du dir unsicher bist.
Wichtige Hinweise
Diese Einstellungen sollten sorgfältig überprüft werden, besonders wenn du deine WordPress-Installation auf einen neuen Server verschiebst. Fehlerhafte Angaben führen oft zu der gefürchteten Fehlermeldung „Error establishing a database connection“.
Authentifizierungsschlüssel und Salts
Sicherheitsrelevante Einstellungen
Diese Schlüssel und Salts werden verwendet, um die Sicherheit deiner Website zu erhöhen. Es ist wichtig, diese regelmäßig zu ändern, um deine Seite vor Angriffen zu schützen.
define( 'AUTH_KEY', '-/YOaOWb`RouZzG]?2' );
define( 'NONCE_KEY', 'Mx`RT)=jLC<)i=wya+6LR)1abSGfbhrhr{YciS<9HmGg#S4+@t@' );
define( 'AUTH_SALT','vv)6%^lgsFe]Hvl92s+R1NrlQ{0OHRn4KRq=`o/zAg`gE%-lm2t=' );
define( 'SECURE_AUTH_KEY', 'GENERATE YOUR OWN KEY' );
define( 'LOGGED_IN_KEY', 'GENERATE YOUR OWN KEY' );
define( 'SECURE_AUTH_SALT', 'GENERATE YOUR OWN KEY' );
define( 'LOGGED_IN_SALT', 'GENERATE YOUR OWN KEY' );
define( 'NONCE_SALT', 'GENERATE YOUR OWN KEY' );
- AUTH_KEY: Ein eindeutiger Schlüssel zur Authentifizierung.
- SECURE_AUTH_KEY: Ein Schlüssel zur Authentifizierung über HTTPS.
- LOGGED_IN_KEY: Ein Schlüssel für eingeloggte Benutzer.
- NONCE_KEY: Ein Schlüssel zur Authentifizierung für einmalige Anfragen.
- AUTH_SALT: Ein Salt zur zusätzlichen Sicherheit bei der Authentifizierung.
- SECURE_AUTH_SALT: Ein Salt zur zusätzlichen Sicherheit bei HTTPS-Authentifizierungen.
- LOGGED_IN_SALT: Ein Salt für eingeloggte Benutzer.
- NONCE_SALT: Ein Salt für einmalige Anfragen.
Woher bekommst du diese Schlüssel?
Du kannst diese Schlüssel ganz einfach über den WordPress.org Secret-Key Service generieren. Kopiere die generierten Schlüssel und füge sie in deine wp-config.php
Datei ein.
Datenbanktabellen-Präfix
Bedeutung des Präfixes
Mit dem Tabellen-Präfix kannst du mehrere WordPress-Installationen in einer Datenbank betreiben. Dies ist besonders nützlich, wenn du verschiedene Test- oder Entwicklungsumgebungen in einer einzigen Datenbank halten möchtest.
$table_prefix = 'customprefix_';
- $table_prefix: Präfix für die Namen der Datenbanktabellen. Nützlich, wenn du mehrere Installationen in einer Datenbank betreibst.
Sicherheitsaspekt
Ändere das Standard-Präfix wp_
zu einem benutzerdefinierten Präfix, um die Sicherheit zu erhöhen und es Angreifern schwieriger zu machen, auf deine Datenbanktabellen zuzugreifen.
Debugging-Optionen
Fehler finden und beheben
Die Debugging-Optionen sind besonders nützlich für Entwickler, um Fehler zu finden und zu beheben. Diese Optionen solltest du nur in einer Entwicklungsumgebung aktivieren.
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
define( 'SCRIPT_DEBUG', true );
define( 'SAVEQUERIES', true );
- WP_DEBUG: Aktiviert den Debugging-Modus in WordPress.
- WP_DEBUG_LOG: Schreibt Debugging-Informationen in die Datei
debug.log
imwp-content
Verzeichnis. - WP_DEBUG_DISPLAY: Zeigt Debugging-Informationen im HTML-Code der Seite an (empfohlen auf
false
in Produktionsumgebungen). - SCRIPT_DEBUG: Lädt nicht minimierte Versionen von CSS und JavaScript-Dateien.
- SAVEQUERIES: Speichert die Datenbankabfragen, um diese später analysieren zu können.
Tipps für Entwickler
Aktiviere diese Optionen, wenn du Plugins oder Themes entwickelst. So kannst du Fehler schneller finden und beheben.
Anpassungen für Performance und Sicherheit
Optimierungen für eine schnelle Website
Hier sind einige nützliche Anpassungen, um die Performance zu verbessern und die Sicherheit zu erhöhen:
define( 'WP_CACHE', true );
define( 'WP_MEMORY_LIMIT', '128M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );
define( 'COMPRESS_CSS', true );
define( 'COMPRESS_SCRIPTS', true );
define( 'CONCATENATE_SCRIPTS', false );
define( 'ENFORCE_GZIP', true );
define( 'DISABLE_WP_CRON', 'false' );
define( 'ALTERNATE_WP_CRON', 'true' );
define( 'WP_CRON_LOCK_TIMEOUT', 30 );
define( 'WP_AUTO_UPDATE_CORE', true );
define( 'DISALLOW_FILE_MODS', false );
define( 'DISALLOW_FILE_EDIT', false );
define( 'WP_POST_REVISIONS', 10 );
define( 'EMPTY_TRASH_DAYS', 7 );
define( 'WP_SITEURL', 'https://www.meinedomain.de' );
define( 'WP_HOME', 'https://www.meinedomain.de' );
define( 'WP_CACHE_KEY_SALT', 'https://www.meinedomain.de' );
define( 'WP_ALLOW_MULTISITE', false );
define( 'COMPRESS_CSS', true );
define( 'COMPRESS_SCRIPTS', true );
define( 'CONCATENATE_SCRIPTS', false );
define( 'ENFORCE_GZIP', true );
define( 'FTP_USER', 'mywpftpuser' );
define( 'FTP_PASS', '!$RsdhissS72' );
define( 'FTP_HOST', 'ftp.meineseite.com' );
define( 'FTP_SSL', true );
define( 'WP_CRON_LOCK_TIMEOUT', 30 );
- WP_CACHE: Aktiviert die Zwischenspeicherung (Caching) in WordPress.
- WP_MEMORY_LIMIT: Definiert das Speicherlimit für WordPress (Standard:
64M
). - WP_MAX_MEMORY_LIMIT: Definiert das maximale Speicherlimit für WordPress (Standard:
256M
). - COMPRESS_CSS: Aktiviert die Komprimierung von CSS-Dateien.
- COMPRESS_SCRIPTS: Aktiviert die Komprimierung von JavaScript-Dateien.
- CONCATENATE_SCRIPTS: Kombiniert mehrere JavaScript-Dateien zu einer einzigen Datei.
- ENFORCE_GZIP: Erzwingt die GZIP-Komprimierung.
- DISABLE_WP_CRON: Deaktiviert den internen WP-CRON (empfohlen für große Websites).
- ALTERNATE_WP_CRON: Aktiviert einen alternativen WP-CRON-Modus (nützlich bei Problemen mit dem Standard-CRON).
- WP_CRON_LOCK_TIMEOUT: Setzt das Timeout für CRON-Locks (Standard:
60
Sekunden). - WP_AUTO_UPDATE_CORE: Aktiviert automatische Updates für den WordPress-Core.
- DISALLOW_FILE_MODS: Deaktiviert alle Dateimodifikationen über das Backend (empfohlen in Produktionsumgebungen).
- DISALLOW_FILE_EDIT: Deaktiviert den integrierten Dateieditor im Backend.
- WP_POST_REVISIONS: Limitiert die Anzahl der gespeicherten Revisionen für Beiträge.
- EMPTY_TRASH_DAYS: Bestimmt, wie viele Tage Beiträge im Papierkorb bleiben, bevor sie gelöscht werden.
- WP_SITEURL: Definiert die URL der WordPress-Installation.
- WP_HOME: Definiert die Homepage-URL der WordPress-Installation.
- WP_CACHE_KEY_SALT: Schlüssel zur Identifizierung des Caches (nützlich bei Verwendung von Redis).
- WP_ALLOW_MULTISITE: Aktiviert oder deaktiviert die Multisite-Funktion.
- FTP_USER: Der FTP-Benutzername.
- FTP_PASS: Das Passwort für den FTP-Zugang.
- FTP_HOST: Der Hostname des FTP-Servers.
- FTP_SSL: Aktiviert die SSL-Verschlüsselung für den FTP-Transfer.
Was bedeutet das für dich?
Diese Einstellungen helfen, die Ladezeit deiner Website zu verkürzen und die Benutzererfahrung zu verbessern. Sie tragen auch zur Sicherheit bei, indem sie die Menge der zu übertragenden Daten reduzieren.
Erweiterte Einstellungen
Zusätzliche Konfigurationen
Hier sind einige erweiterte Einstellungen, die ebenfalls in der wp-config.php
Datei nützlich sein können:
define( 'DISALLOW_UNFILTERED_HTML', true );
define( 'FORCE_SSL_ADMIN', true );
define( 'IMAGE_EDIT_OVERWRITE', true );
define( 'WP_ALLOW_REPAIR', true );
define( 'AUTOMATIC_UPDATER_DISABLED', true );
define( 'DISABLE_WP_CRON', true );
define( 'ALTERNATE_WP_CRON', true );
define( 'WP_HTTP_BLOCK_EXTERNAL', true );
define( 'WP_ACCESSIBLE_HOSTS', 'api.wordpress.org,*.github.com' );
define( 'WP_TEMP_DIR', '/path/to/temp' );
- DISALLOW_UNFILTERED_HTML: Deaktiviert das Einfügen von nicht gefiltertem HTML für alle Benutzer außer Administratoren.
- FORCE_SSL_ADMIN: Erzwingt SSL für alle Zugriffe auf das Admin-Dashboard.
- IMAGE_EDIT_OVERWRITE: Überschreibt Originalbilder beim Bearbeiten in der Mediathek.
- WP_ALLOW_REPAIR: Erlaubt die Reparatur der Datenbank.
- AUTOMATIC_UPDATER_DISABLED: Deaktiviert alle automatischen Updates.
- WP_HTTP_BLOCK_EXTERNAL: Blockiert alle ausgehenden HTTP-Anfragen, außer zu erlaubten Hosts.
- WP_ACCESSIBLE_HOSTS: Liste der erlaubten Hosts für ausgehende HTTP-Anfragen.
- WP_TEMP_DIR: Definiert das temporäre Verzeichnis für WordPress.
Sicherheitsvorteile
Diese erweiterten Einstellungen bieten zusätzliche Sicherheits- und Performance-Verbesserungen, die besonders in Produktionsumgebungen nützlich sein können.
Fehlerbehebung: „Error establishing a database connection“
Mögliche Ursachen und Lösungen
Die Datenbank hat keinen Inhalt oder existiert nicht
Diese Fehlermeldung erscheint, wenn die gewünschte Datenbank entweder nicht existiert oder keine Inhalte aufweist. Überprüfen kannst du dies mit phpMyAdmin.
Reparaturbedürftige oder beschädigte Datenbanken
WordPress zeigt die Fehlermeldung auch, wenn es sich um eine beschädigte Datenbank handelt. Du kannst die Tabellen mit phpMyAdmin reparieren oder die folgende Zeile in deine wp-config.php
einfügen:
define('WP_ALLOW_REPAIR', true);
Der Datenbankserver ist vorübergehend nicht erreichbar
Manchmal liegt das Problem an einer vorübergehenden Störung des Datenbank-Servers. Überprüfe, ob andere Websites auf dem gleichen Server ebenfalls betroffen sind.
Vorgehensweise zur Behebung des Fehlers
- Überprüfung der Angaben der Datenbank in der wp-config.php: Stelle sicher, dass alle Angaben korrekt sind.
- Verifizierung der Datenbank-Benutzerangaben: Überprüfe Benutzername und Passwort.
- Kontaktieren des Hosting-Anbieters: Wenn alle Stricke reißen, kontaktiere deinen Hosting-Anbieter.
Regelmäßige Backups und Schreibrechte
Schutz vor Datenverlust
Um zukünftige Probleme zu vermeiden, solltest du regelmäßige Backups deiner gesamten WordPress-Seite machen und die Schreibrechte für die wp-config.php
regelmäßig auf 660 setzen, um unbefugte Änderungen zu verhindern.
Dieser Beitrag sollte dir helfen, die wp-config.php
Datei besser zu verstehen und häufige Probleme zu beheben. Wenn du weitere Fragen hast, lass es mich wissen! Mit diesen Informationen bist du gut gerüstet, um deine WordPress-Installation sicher und effizient zu verwalten.
Auch spannend: Die mächtige .htaccess Datei