Session-Error bei phpMyAdmin auf Webhostingpaketen von DomainFactory
Auf einem frisch erworbenen Hostingpaket von DomainFactory wollte ich zuerst einmal phpMyAdmin für die Verwaltung der Datenbank installieren, aber leider klappte der Login nicht und es wurde eine Fehlermeldung zu Problemen mit dem Session-Handling angezeigt:
phpMyAdmin - Error
Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.
Das Problem ist in der Standardkonfiguration des Hostingpakets begründet. PHP benötigt ein Verzeichnis, in dem temporäre Dateien für die Verwaltung von Sessions abgespeichert werden dürfen. Standardmäßig ist das unter Linux das Verzeichnis /tmp. DomainFactory erlaubt aus Sicherheitsgründen aber keinen Zugriff auf das genannte Verzeichnis.
Lösung
Die Lösung besteht darin, im eigenen Verzeichnis selbst ein tmp-Verzeichnis anzulegen und diese in der PHP-Konfiguration durch das Erstellen einer eigenen PHP-Konfigurationsdatei PHP.INI im Administrationsbereich (Navigationspunkt PHP-Einstellungen) von DomainFactory als Wert für den Parameter session.save_path (sessions.save_path = "/kunden/<kundenverzeichnis>/tmp") zu definieren.
Aus Sicherheitsgründen sollte das Verzeichnis auf keinen Fall innerhalb eines DocumentRoots einer Website liegen, da es dann theoretisch öffentlich erreichbar wäre.
Offizielle Erklärung und Lösungsbeschreibung von DomainFactory unter www.df.eu/at/support/df-faq/webhosting/skriptsprachen/php/.
Ein zusätzlicher Tipp für phpMyAdmin:
Der MySQL-Server von Domainfactory ist unabhängig von der DNS-Konfiguration (es muss also nicht explizit eine Subdomain definiert werden) immer unter mysql5.<domain> erreichbar.