Troubleshooting

Guite edited this page Nov 12, 2014 · 3 revisions

Hier gibt es eine Übersicht gängiger Probleme und deren Lösung.

Hilfe, ich habe mich ausgesperrt!

Es gibt verschiedene Möglichkeiten, sich aus einer Zikula-Site auszusperren: Falsche Permissions, fehlerhaftes Theme usw. Mit der Zikula Recovery Console (ehemals psak) kann man wieder Herr seiner eigenen Site werden.

Hilfe, ich habe die Admin-Gruppe gelöscht!

Zuerst muss man die Datenbank mittels mysqladmin oder mysqldumper öffnen um sie bearbeiten zu können. Dann muss man in der (Tabellen präfix bei einer Neuinstallation ist zk_ anstatt pn_!)

Tabelle pn_groups z.B.:
pn_gid  pn_name
      1 Users
      2 Admins

kontrollieren und ggf die Gruppe hinzufügen. Dann muss man seinen Admin-User wieder der Gruppe Admin hinzufügen

Tabelle pn_group_membership
pn_gid  pn_uid
      2 2

wobei pn_uid für die USERID steht, pn_gid für die GROUPID (aus der pn_groups Tabelle) diese kann man in

Tabelle pn_users

nachsehen. Danach sollte der Admin-User wieder in der Admin-Gruppe sein und somit wieder Admin-Rechte haben.

Frisch hochgeladen und schon kaputt

Es kommt manchmal vor, dass ein frisch hochgeladenes Zikula-Paket PHP-Fehler anzeigt - Sei es während der Installation oder nach der Installation beim ersten Aufruf der neuen Site: Das liegt daran, dass FTP-Übertragungen manchmal fehlerhaft ablaufen. Sollte Dir so etwas passiert sein, lade einfach alles noch einmal hoch - um sicher zu gehen, dass alles korrekt übertragen wird, stell Dein FTP-Programm so ein, dass es immer nur eine Datei zur selben Zeit überträgt.

Weiße Seite

Du siehst weiß? Du rufst Deine Site auf und es erscheint nur eine weiße Seite mit dem Quelltext:

<HTML><body></body></html>

Dafür gibt es keinen eindeutigen Grund - vielmehr ist irgendein Fehler im PHP und Dein Webserver wurde so konfiguriert, dass keine PHP-Fehler angezeigt werden sollen.

Um also eine weitere Diagnose Deines Problems zu ermöglichen, musst Du PHP zunächst wieder dazu bringen, mit Dir zu sprechen. Der zentrale Punkt wäre die php.ini, in der Du einstellst:

display_errors = On

Solltest Du keinen Zugang zur php.ini haben (wie es auf den meisten Hosting Paketen üblich ist), kannst Du versuchen, diese Einstellung in der .htaccess zu machen. Dazu trägst Du dort ein:

php_flag display_errors on

Sollte auch das nicht wirken, trägst Du in der config.php am Ende ein:

error_reporting(e_all);

Das solltest Du aber nach der Fehlersuche wieder entfernen. Es werden eventuell auch weniger schwer wiegende Probleme von PHP als Notices oder Warnings angezeigt, die Deine Besucher sicher verwirren werden.

Und nun? Dir wird ein PHP-Fehler anzeigt - entweder kannst Du damit selbst etwas anfangen und das Problem beheben oder Du meldest Dich im Forum und beschreibst Dein Problem.

Internal Server Error (Error 500)

Zikula liefert im Root eine .htaccess-Datei mit folgenden Inhalten mit:

# security options
php_flag register_globals off
php_flag magic_quotes_gpc off

Scheinbar haben bestimmte 1&1-Serverumgebungen Probleme mit diesen Regeln. Bereits unter register_globals wurde auf spezielle Änderungen bei diesem Provider hingewiesen.

Erscheint beim Aufruf von Zikula ein Error 500 bzw. "Internal Server Error", dann gibt es die folgenden Möglichkeiten, den Fehler zu beheben und dennoch eine gewisse Sicherheit zu gewährleisten.

Man deaktiviert die o.g. Zeilen in der .htaccess (z.B. durch Auskommentieren). Anschließend legt man eine Datei namens php.ini in das gleiche Root-Verzeichnis , die folgende Zeilen beinhaltet:

register_globals = off
magic_quotes_gpc = off

Alternativ könnte man, wie hier beschrieben, PHP5 im CGI-Modus laufen lassen. Jedoch sind dann nicht alle Funktion deaktiviert.

Nutzt man ShortURLs unter Zikula und durch die mitgelieferte Vorlage aus dem /docs-Verzeichnis entsteht der Error 500, dann kann man diesen häufig durch die Ergänzung von "RewriteBase /" nach der Zeile "RewriteEngine On" beheben:

RewriteEngine On
...
RewriteBase /
...

Allowed Memory Size exhausted

Fatal error: Allowed memory size of 8388608 bytes exhausted at (null):0 (tried to allocate 868797 bytes) in
/home/var/www/html/modules/Xanthia/plugins/outputfilter.shorturls.php on line 358

Fehler wie dieser treten auf, wenn Zikula nicht genügend Speicher zur Verfügung steht. Du musst in der php.ini setzen:

memory_limit = 24M

Solltest Du keinen Zugang zur php.ini haben (wie es auf den meisten Hosting Paketen üblich ist), kannst Du versuchen, diese Einstellung in der .htaccess zu machen. Dazu trägst Du dort ein:

php_value memory_limit 24000000

Sollte das auch nicht funktionieren, such Dir einen Provider, der Dir mehr Speicher zugesteht.

_VERSALBUCHSTABEN

VERSALBUCHSTABEN zeigen immer fehlende Sprachdefinitionen an.

Schau einmal in den Modulordner (pn)lang und den dortigen Unterordnern nach - wenn dort kein /deu Ordner zu finden ist, mache eine Kopie des /eng Ordners und passe die Dateien entsprechend der deutschen Übersetzung an.

Warning: Session Initialisation Error

Diese Fehlermeldung kann auftreten, wenn die Sessions-Tabelle defekt ist. Rufe Dein Datenbanktool (z.B. phpMyAdmin) auf und leere die Sessions-Tabelle.

Problem in Database Connection

Deine Datenbank ist aus irgendeinem Grund nicht erreichbar. Mögliche Gründe:

  • Zugangsdaten falsch - überprüfe, ob die Zugangsdaten in der config.php korrekt sind.
  • Datenbankserver abgestürzt - Kontaktiere den Support Deines Providers

Wie bekomme ich die blauen Rahmen weg, die meine Bilder umgeben?

Im Stylesheet des verwendeten Themes einfach folgendes einfügen:

img {
border: 0px;
}

mit diesem CSS Code wird bewirkt, dass um Bilder kein Rahmen mehr angezeigt wird.

Fehler: Call to undefined function token_get_all

Fatal error: Call to undefined function token_get_all() in
/htdocs/includes/classes/Smarty/internals/core.write_compiled_include.php on line 45

Falls diese Fehlermeldung erscheint, handelt es sich höchstwahrscheinlich um eine fehlerhafte PHP-Installation seitens des Providers. token_get_all ist eine PHP-Funktionalität bzw. Erweiterung, die üblicherweise mitgeliefert wird und eigentlich zur Grundausstattung von PHP (besonders PHP5) gehört (siehe PHP token_get_all).

Einfach mal beim Provider nachfragen, warum dieser beim Compilen von PHP ...

--disable-tokenizer

...gesetzt hat.

Zwar gibt es im deutschem Supportforum einen Thread über das Patchen einer gewissen Datei, um diesen Fehler zu beseitigen. Aber damit würde nicht die eigentlich Ursache (die fehlerhafte Serverkonfiguration) behoben werden.

PHP5 & Tokenizer

Wenn Du bei der Installation die Meldung "In der PHP-Version ist die "token" Funktion nicht verfügbar - diese Funktion ist aber Voraussetzung." angezeigt bekommst, musst Du entweder Deinen Provider überreden, diese Funktion zu installieren, oder wenn Du selbst Root-Zugriff auf Deinen Server hast folgendes:

Suse-Linux:

yast2 -i php5-tokenizer

bzw.

yum install php5-tokenizer

Weiterlesen: Rootserver

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.