Dieser Blog lief die ganze zeit mit WordPress 3.0 und PostgreSQL. Beim Update auf WordPress 3.1 hat das PostgreSQL-Plugin plötzlich nicht mehr funktioniert. In den Apache-Logs bin ich auf folgenden Fehler gestoßen
UPDATE: Inzwischen funktioniert das normale Plugin wieder: Dazu einfach die Anweisungen des Entwicklers auf http://www.hawkix.net/lang/en/2011/08/pg4wp-1-2-0b1-beta-release/ befolgen.
PHP logs shows a PHP Fatal error: Cannot redeclare class wpdb in /usr/share/wordpress/htdocs/wp-content/db.php(37) : eval()'d code on line 52
Nach einigem Suchen bin ich auf folgende Lösung gestoßen:
- WordPress wie gewohnt updaten / installieren (nähere Informationen sind hier zu finden)
- Jetzt sollte es irgendwann zu einem Fehler kommen (install.php bzw upgrade.php konnte nicht ausgeführt werden)
- Dann die Datei /wp-includes/load.php mit einem Editor öffnen und die Funktion
function require_wp_db() { global $wpdb; require_once( ABSPATH . WPINC . '/wp-db.php' ); if ( file_exists( WP_CONTENT_DIR . '/db.php' ) ) require_once( WP_CONTENT_DIR . '/db.php' ); if ( isset( $wpdb ) ) return; $wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST ); }
durch
function require_wp_db() { global $wpdb; if ( file_exists( WP_CONTENT_DIR . '/db.php' ) ) require_once( WP_CONTENT_DIR . '/db.php' ); else require_once( ABSPATH . WPINC . '/wp-db.php' ); if ( isset( $wpdb ) ) return; $wpdb = new wpdb( DB_USER, DB_PASSWORD, DB_NAME, DB_HOST ); }
ersetzen.
Anschließend ganz normal die Installation fortsetzen (install / upgrade).
Quellen:http://wordpress.org/support/topic/wp-31-pg4wp-cannot-redeclare-class-wpdb
http://blog.beefyapps.com/2010/12/wordpress-postgresql-trouble-php-fatal-error-cannot-redeclare-class-wpdb/