Downloads

Kategorien

Suchen


Aktuelle Artikel

Archiv

WordPress

« Vorherige Beiträge

Fatal error: Call to undefined function curl_init() in /home/…/ip-logger/…/class.ipdetails.php

Mittwoch, 29.09.2010

Die folgende Meldung zeigt an, dass das Modul “php5-curl” nicht installiert wurde:

Fatal error: Call to undefined function curl_init() in /home/.../wp-content/plugins/.../class.ipdetails.php on line 29

Mithilfe des Befehles “apt-get install php5-curl” können Sie z.Bsp. unter Debian dieses Modul einfach nachinstallieren und nutzen.

WordPress: Deine PHP-Installation scheint nicht über die von WordPress benötigte MySQL-Erweiterung zu verfügen

Dienstag, 28.09.2010

Beim Aufruf Ihrer Webseite erhalten Sie folgende Meldung ?

Deine PHP-Installation scheint nicht über die von WordPress benötigte MySQL-Erweiterung zu verfügen.

Prüfen Sie bitte, ob auf Ihrem Server die folgenden Programme (Module) richtig installiert sind:

Sollte z.Bsp. “php5-mysql” fehlen, dann können Sie unter Debian mithilfe des Befehles “apt-get install php5-mysql” dieses Modul nachinstallieren. Anschließend sollte Ihre Webseite (wieder) richtig funktionieren.

WordPress: Revisionen eines Artikels löschen (Historie löschen)

Freitag, 06.08.2010

Das CMS “WordPress” stellt Ihnen Ihre alten Versionen der Artikel zur Verfügung. Unter jedem Artikel können Sie im Abschnitt “Revisions” jede (gespeicherte) Änderung des Artikels nachvollziehen und auf Wunsch mit einer anderen Version des Artikels vergleichen lassen.

Diese manchmal recht praktische Funktion kann jedoch auch unerwünscht sein und ggf. Datenbank-Ressourcen belegen. Zugegeben, es sind keine sehr großen Datenmengen – jedoch kann mit der Zeit und entsprechend vielen Artikeln auch hier eine stattliche Anzahl an Datenbankeinträgen zusammen kommen.

Um hier aufzuräumen und diese alten Datensätze endgültig zu löschen, nutzen Sie folgendes SQL Script:

DELETE FROM wp_posts WHERE post_type = 'revision'

Führen Sie den vorherigen SQL Befehl auf Ihrer entsprechenden WordPress Datenbank aus. Dafür können Sie z.Bsp. die kostenlose und Open Source Datenbankverwaltung “phpMyAdmin” nutzen. Achten Sie dabei darauf, dass Sie ggf. den Prefix der Tabelle (hier: “wp_”) anpassen müssen. Das ist jedoch nur dann erforderlich, wenn Sie bei der Installation einen eigenen Prefix gewählt haben. Sollten Sie sich nicht sicher sein, können Sie den SQL Befehl trotzdem ausführen – ist die Tabelle nicht vorhanden, erhalten Sie eine entsprechende Fehlermeldung und keine Daten wurden gelöscht.

Wenn Sie sich zuvor die zu löschenden Daten ansehen möchten, dann hilft Ihnen dieser SQL Befehl weiter:

SELECT * FROM wp_posts WHERE post_type = 'revision'

WordPress: Fehler beim Laden des Stylesheets: Ein unbekannter Fehler ist aufgetreten (805303f4)

Donnerstag, 22.07.2010

Wenn Sie bei Ihrem WordPress auch das Plugin “Google XML Sitemaps” benutzen, stehen Sie nach dem Update auf Version “3.2.4″ des Plugins vor einem kleinen Problem. Leider bekommen Sie es bewußt nicht immer mit sondern merken es erst nach einer Überprüfung z.Bsp. in den Google Webmaster Tools:

Ihre (vom Plugin generierte) XML Datei ist nicht erreichbar:

Fehler beim Laden des Stylesheets: Ein unbekannter Fehler ist aufgetreten (805303f4)

Teilweise tritt dieses Problem nur bei einer Domain auf – die Hauptdomain (oder erste Domain) läuft relativ ungestört weiter. Für Google und andere Suchmaschinen (Crawler) ist das kleine Problem jedoch massiv, denn sie können Ihre XML Sitemap nicht mehr (richtig) verarbeiten. Dadurch kann es zu plötzlich fehlenden Links und Einträgen in den Suchmaschinen bzgl. Ihrer Webseite kommen. Hintergrund ist ein Problem mit der Verlinkung auf die hinterlegte XSL Datei.

Lösung:

Benennen Sie die Daten “sitemap.xsl” im Verzeichnis “/wp-content/plugins/google-sitemap-generator/” einfach um. Ohne diese Daten erzeugt das Plugin die XML Sitemap wieder fehlerfrei und Google kann wieder alles lesen.

Beispielbefehl für Linux:

mv sitemap.xsl sitemap.xsl.old

In Ihrem FTP Programm können Sie die Datei einfach umbenennen. Häufig ist diese Funktion auf die Taste “F2″ gelegt.

Wichtig für eine schnelle Korrektur:

Erzeugen Sie nach der Umbenennung der XSL Datei Ihre XML Sitemap neu. Gehen Sie dafür in Ihrem WordPress Backend (Administrationsbereich “/wp-admin/”) auf “Einstellungen” > “XML-Sitemap”. Dort klicken Sie auf “… von Hand neu erstellen”. Danach ist die korrigierte XML Daten für die Suchmaschinen verfügbar.

WordPress: “Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen”

Dienstag, 13.07.2010

Nach dem Kopieren oder Update Ihrer WordPress (WP) Installation erhalten Sie eine der beiden folgenden Meldungen nach der Anmeldung im Backend (wp-admin):

Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen.
Sie haben nicht ausreichend Rechte, um auf diese Seite zuzugreifen.

Diese Fehlermeldung zeigt an, dass das WP Backend (Adminbereich) Ihre Anmeldung nicht richtig zuordnen kann. Die Gründe für diese Sperre können vielfältig sein. In der folgenden Übersicht möchten wir Ihnen die Lösung für die häufigsten Sperren zeigen:

Versuchen Sie, Ihre Datenbank durch das “force-upgrade.php” Script zu aktualisieren. Dafür wird die Datei einfach in das Hauptverzeichnis Ihres Webservers kopiert und dann per Browser aufgerufen. Anschließend sollte die Datei dringend wieder gelöscht werden – nur dann kann niemand anderes ebenfalls diese Aktion ausführen. Dieser Schritt sollte fast alle vorhandenen Datenbankprobleme beseitigen. Zudem ist diese Methode wesentlich effizienter und sicherer als das manuelle Zurücksetzen der Versionsnummer / Versionsinformationen in der Datenbank.

Überprüfen Sie, ob die Zeile

require_once(ABSPATH . 'wp-settings.php');

ganz unten steht. Wichtig ist auch, dass die Information

define('SECRET_KEY', 'xyz...abc');

(logischerweise) oberhalb der Zeile stehen.

Es ist nicht ausreichend, die Datei “wp-config.php” anzupassen und in der Datenbank den Tabellenprefix zu ändern. In der WordPress-Datenbank sind Datensätze gespeichert, welche den alten (originalen) Tabellenpräfix darstellen. Diese Einträge müssen also ebenfalls abgepasst werden. Bei normalen Installationen von WordPress sind die folgenden Befehle für die Tabellen “wp_options” und “wp_usermeta” ausreichend:

1
2
UPDATE neuesPrefix_options SET option_name = REPLACE(option_name, 'altesPrefix_', 'neuesPrefix_');
UPDATE neuesPrefix_usermeta SET meta_key = REPLACE(meta_key, 'altesPrefix_', 'neuesPrefix_');

Bei Standardinstallationen sollten keine weiteren Einträge zum Prefix vorhanden sein. Sollten Sie jedoch weitere Datensätze finden, ändern Sie diese entsprechend ab und schreiben Sie uns gerne einen Kommentar zu diesem Artikel. Wir werden Ihre Hilfe dann für die nächsten Besucher einarbeiten.

Sollte die Einstellung / Option “prefix_user_roles” verändert ist. Die Details dieser Option werden in einem sog. “serialisiertes Array” abgelegt. Dabei kann es scheinbar passieren, dass sich die einzelnen Informationen (Daten) so verändern, dass PHP das richtige Array mit den Einzeldaten nicht mehr richtig entschlüsseln kann. Dadurch hat Ihr WordPress dann natürlich keine Möglichkeit mehr, auf diese Einstellungen zuzugreifen. Die Folge ist, dass (sicherheitshalber) alle Benutzer ausgesperrt sind.
Sie können durch einen einfache PHP-Datei schnell prüfen, ob dieses Problem bei Ihnen zutrifft:

Das kurze PHP-Script prüft, ob die Option “user_roles” bei Ihrer WordPress richtig gelesen werden kann. Sollte dabei irgendein Problem auftreten (Sie erhalten die Anzeige “Die Option ‘xyz_user_roles’ ist defekt.”), sollten Sie sicherheitshalber die gesamte Option neu setzen. Zwar gehen Ihnen dadurch alte Einstellungen verloren und müssen dann neu gesetzt werden, aber solange Sie Ihre Benutzerberechtigungen nicht verändert haben, sollte es keine Probleme geben.
Sie können die einzelnen Werte entweder direkt durch phpMyAdmin setzen oder Sie nutzen das folgende Script:

1
2
3
4
5
6
<?php
$val = 'a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:54:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}';
include("wp-config.php");
global $wpdb;
set_option($wpdb->prefix."user_roles", $val);
?>

Den Wert noch einmal als reinen String (Zeichenkette) für die direkte phpMyAdmin Eingabe. Der folgende Text ist eine Zeile:

a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:54:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}

.htaccess: Zugriff auf ein Unterverzeichnis erlauben

Sonntag, 07.03.2010

Es gibt Fälle, da möchte man ein Verzeichnis per .htaccess schützen – trotzdem aber den Zugriff auf ein Unterverzeichnis des geschützten Verzeichnisses wieder erlauben.

Praxis-Beispiel:

Um Ihre WordPress Installation zusätzlich zu sichern, sperren Sie das /wp-admin Verzeichnis durch eine .htaccess / .htpasswd Kombination. Dadurch werden aber andere Logins (z.Bsp. von normalen Benutzern auf der Webseite) auch blockiert, da bei die Loginmaske Dateien aus dem /wp-admin/css und /wp-admin/images Verzeichnis abruft.

Lösung:

Erstellen (der belassen) Sie den Schutz wie in unserem Artikel “WordPress: Schutz des Administrationsbereiches (wp-admin)/” beschrieben für den /wp-admin/ Ordner.

Erstellen Sie zusätzlich in den beiden Unterordnern “css” und “images” eine weitere .htaccess Datei mit diesem Inhalt:

Order Deny,Allow
Allow from all
Satisfy any

Nun werden Sie beim Zugriff auf “www.domain.de/wp-admin” nach Ihren Zugangsdaten gefragt. Möchte sich ein Benutzer jedoch normal über die Loginmaske anmelden, sieht er das bekannte Formular und wird nicht eingeschränkt.

WordPress: Besucher protokollieren und auswerten

Sonntag, 07.03.2010

Für das WordPress Plugin “IP Logger” gibt es eine neue Version: 3.0

Neu in dieser Version ist die Möglichkeit, die Logs (= die protokollierten Besucherdaten) online auf den eigenen Computer herunterzuladen und dort weiter auszuwerten. Auch wird dadurch die meist vergleichsweise teure Onlinespeicherplatz geschont und die Logs auf dem lokalen PC gesammelt.

Das (ebenfalls kostenlose) Zusatztool hierfür heißt:
IP Logger Analyzer (IPLA)

Neben dem normalen protokollieren Ihrer Webseitenbesucher haben Sie die Möglichkeit, Ihre Webseite vor unerwünschten Besuchern zu schützen. Die enthaltene Option “Unerwünschte Besucher blockieren” können Sie einfach in den Einstellungen des Plugins aktivieren und dann definieren, welchen Besucher Sie nicht Ihre Webseite zeigen wollen:

Diese Technik hilft auch, die meisten sog. Bots (= Automatische Suchprogramme, die meist Ihre komplette Webseite versuchen zu katalogisieren) auszusperren. Auch gegen “Spider” Software (= Herunterladen Ihrer kompletten Webseite auf einen PC, Offline verfügbar machen) hilft die Option zuverlässig.

Mehr Informationen auf der Webseite des Autors.

Error 500 bei WordPress Login auf 1&1 Webseiten

Donnerstag, 28.01.2010

Wenn Sie Ihre Webseite auf einem 1&1 (Puretec) Server führen, werden Sie früher oder später ein Problem finden. Nachdem Sie sich versuchen, in Ihr WordPress Backend unter “/wp-admin” einzuloggen, erhalten Sie die folgende Fehlermeldung:

Error 500 - Internal server error
Ein interner Fehler ist aufgetreten!
Bitte versuchen Sie es zu einem späteren Zeitpunkt.

Um das Problem zu beheben, gehen Sie per FTP auf Ihren WebServer und korrigieren Sie die “.htaccess” Datei im WordPress wie folgt:

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

# Force www
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

# PHP5 bei 1&1 einschalten
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php

Meine aktuelle IP Adresse

Samstag, 05.12.2009

Ihre aktuelle IP Adresse lautet:
Your current IP address is:

38.107.179.243

In PHP können Sie die IP des Clients so anzeigen bzw. abfragen:

echo $_SERVER["REMOTE_ADDR"];

WordPress: Ihre Zugriffsrechte reichen nicht aus, um diese Seite zu anzuzeigen

Donnerstag, 26.11.2009

Dieser Artikel ist für interessant, wenn Sie beim Login in das Backend Ihrer WordPress Installation einer der folgenden Fehlermeldungen angezeigt bekommen:

"Ihre Zugriffsrechte reichen nicht aus, um diese Seite zu anzuzeigen"
"You do not have sufficient permissions to access this page"

Meist tritt dieser Fehler auf, wenn Sie Ihre Domain oder WordPress-Installation geändert haben (z.Bsp. durch ein Update oder Plugin). Ist ein neues Plugin installiert worden, löschen Sie zum Test bitte vorübergehend das Verzeichnis des neues Plugins vom Server. Sie finden die Plugins unter “/wp-content/plugins/”. Funktioniert anschließend der Login wieder, informieren Sie bitte den Autor des Plugins über das Problem.

Anderfalls:

Grund für die Fehlermeldung sind nicht erkannte Benutzer und Benutzerrechte. Diese sind in den Tabellen “wp_options” und “wp_usermeta” gespeichert.

Lösung:

Nutzen Sie z.Bsp. phpMyAdmin für den Zugriff auf Ihre WordPress-Datenbank.
Ersetzen Sie in der folgenden Anleitung “AlterDomainname” und “NeuerDomainname” durch Ihre entsprechenden Domainnamen:

« Vorheriger Beitrag