Home > PHP
Linkjuice
Informationen über PHP, Wordpress und Co.

Wordpress Entwicklungsumgebung

Neben dem “Live-Blog” betreibe ich auf meinem PC eine Entwicklungssystem in einer XAMPP-Umgebung, um beispielsweise neue Plugins entwicklen und testen zu können. Zur Versionierung der aktuellen Softwarestände findet Tortoise SVN Verwendung.

1. Datenbank exportieren/importieren

Um im Testsystem mit der aktuellen Live-Datenbank arbeiten zu können, muss ein Backup der Datenbank des Livesystem exportiert, sowie im zweiten Schritt in das Testsystem importiert werden. Diese Arbeiten können mit phpMyAdmin erledigt werden – ich verwende für diese Schritte das Wordpress Plugin WP-DB-Backup von filosofo.

2. Datenbank anpassen

Da Wordpress in der Datenbank (wp_options) Informationen zur URL des Blocks hinterlegt, müssen nach dem Import der “Fremddatenbank” Veränderungen an dieser vorgenommen werden. Zur komfortablen Erfüllung dieser Aufgabe habe ich ein kleines Skript erstellt, welches die Manipulationen an der Datenbank vornimmt:

Erstellen Sie folgende Datei “update-db.php” im Verzeichnis “wp-admin”:

<?php

/** Load WordPress Bootstrap */
require_once(dirname(dirname(__FILE__)) . '/wp-load.php');

/** Load WordPress Administration Upgrade API */
require_once(dirname(__FILE__) . '/includes/upgrade.php');

//
$str_url = ($_SERVER['HTTPS'] != "" ? "https://" : "http://").$_SERVER['HTTP_HOST'].str_replace("wp-admin/update-db.php", "", $_SERVER['PHP_SELF']);
update_option('siteurl', $str_url);
update_option('home', $str_url);

//
$str_upload_pfad = str_replace("wp-admin/update-db.php", "", $_SERVER['SCRIPT_FILENAME'])."wp-content/uploads";
update_option('upload_path', $str_upload_pfad);

?>

Code-Erläuterungen:

Zeilen 4-7: Zum Update der Felder können wir natürlich auf die Wordpress-Funktionen zurückgreifen – diese binden wir in diesen Zeilen in das Script ein.

Zeilen 10-12: Die Werte für “site_url” und “home” werden ermittelt und in der Datenbank geschrieben.

Zeilen 15-16: Der Wert für “upload_path” wird ermittelt und in die Datenbank geschrieben.

Nachdem die Datei erstellt wurde, kann diese über die URL “http://Domain-oder-Entwicklungshost/wp-admin/update-db.php” im Browser aufgerufen werden – nach der Ausführung des Scripts erfolgt keinerlei Ausgabe.

3. Anpassung der Datei “wp-config.php”

Die Zugangsdaten zur Datenbank des Live-Systems sind meist andere, als die lokalen. Nachdem Sie in der Datei “wp-config.php” die folgenden Code-Zeilen eingebaut haben, können Sie diese in beiden Systemen verwenden – die nötigen Zugangsdaten werden anhand der URL des aufgerufenen Systems (hier “http://entwicklung/linkjuice”) ermittelt.

<?php

// ** MySQL Einstellungen ** //
$str_host = $_SERVER["SERVER_NAME"];
if (strtolower($str_host) == "entwicklung")
 {
 define('DB_NAME', 'db_entwicklung');    // Ersetze ssfxx_linkjuice mit dem Namen der Datenbank, die du benutzt.
 define('DB_USER', 'root');     // Ersetze usernamehere mit deinem MySQL-Datenbank-Benutzernamen.
 define('DB_PASSWORD', ''); // Ersetze yourpasswordhere mit deinem MySQL-Passwort.
 define('DB_HOST', 'localhost');    // In 99% der Fälle musst du hier nichts ändern. Falls doch ersetze localhost mit der MySQL-Serveradresse.
 define('DB_CHARSET', 'utf8');    // Der Datenbankzeichensatz sollte nicht geändert werden
 define('DB_COLLATE', '');
 }
else
 {
 define('DB_NAME', 'db_live');    // Ersetze ssfxx_linkjuice mit dem Namen der Datenbank, die du benutzt.
 define('DB_USER', '');     // Ersetze usernamehere mit deinem MySQL-Datenbank-Benutzernamen.
 define('DB_PASSWORD', ''); // Ersetze yourpasswordhere mit deinem MySQL-Passwort.
 define('DB_HOST', 'localhost');    // In 99% der Fälle musst du hier nichts ändern. Falls doch ersetze localhost mit der MySQL-Serveradresse.
 define('DB_CHARSET', 'utf8');    // Der Datenbankzeichensatz sollte nicht geändert werden
 define('DB_COLLATE', '');
 }

?>

4. Mögliche Probleme

mod_rewrite (500 Fehler)

Die nötigen Einstellungen können unter “Einstellungen/Permalinks” vorgenommen werden.

Darstellung von Umlauten

Die beiden Datenbanksystem sollten das gleiche “charset”, möglichst “UTF-8″ verwenden.

Verlinkung auf Dateien

Wenn Mediendateien über “absolute Pfade” verlinkt wurden, müssen diese Links an die neue URL des Systems angepasst werden.

Syntax Highlighter

Da sich dieser Blog dem Thema “Softwareentwicklung” widmet, wird zur komfortablen Darstellung von Code-Fragmenten ein Tool zur Formatierung (Syntax-Highlighter) benödigt. Bei der Suche nach einem geeigneten Plugin wird man von der Fülle des Angebots an mehr, oder weniger geeigneten Tools fast erschlagen. Weiterlesen »

Kategorien


Gezwitscher