Komische Fehlermeldung

  • Hallo zusammen,

    gestern habe ich ein Plugin (WP-Print) installiert, das meine Permalinks umschrieb, so dass ich weder auf die Seiten kam, noch ins Backend. Löschen des Plugins auf dem Server half auch nichts, also habe ich ziemlich viel versucht, bis es wieder klappte (am Ende war es ein Tipp von Maxe hier im Forum, der mich drauf brachte, es hatte mit Permalinks und .htaccess zu tun). Leider habe ich während der Versuche auch ein paar frische Cache-Dateien auf dem Server gelöscht.
    Warum erzähle ich das?
    Weil mein Safari mir nun unter jeder einzelnen Seite zeigt:

    Zitat

    Warning: Unknown: open(/tmp/sess_4f35a39e8e9092d8c9c10d3017bc8d81, O_RDWR) failed: Permission denied (13) in Unknown on line 0

    Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp) in Unknown on line 0



    Abgesehen von dieser bescheuerten Fehlermeldung allerdings klappt alles - ich kann schön im Backend arbeiten, die Seiten werden angezeigt wie es sein soll usw. (Website-Url: rechner-photovoltaik.de).
    Nur, wie bekomme ich diese Warnmeldung weg?
    Die Cache-Plugins habe ich jetzt gelöscht, trotzdem kommt die Meldung noch ... Hat jemand eine Idee, wie ich sowas wieder loswerde?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hast Du zufällig serverseitig den PHP-Modus gewechselt (mod_php auf CGI oder umgekehrt)?
    Egal - ich würde einmal versuchen, die SESSION-Cookies in Deinem Browser zu löschen.

    Schöne Grüße,
    Frank


  • Unknown: open(/tmp/sess_4f35a39e8e9092d8c9c10d3017bc8d81, O_RDWR) failed: Permission denied (13) in Unknown on line 0

    Nur, wie bekomme ich diese Warnmeldung weg?
    Die Cache-Plugins habe ich jetzt gelöscht, trotzdem kommt die Meldung noch ... Hat jemand eine Idee, wie ich sowas wieder loswerde?

    Deine Anwendung möchte eine Session speichern. Die Session soll in /tmp/ gespeichert werden. Hierfür hast du verständlicherweise keine rechte auf dem Server.

    http://de3.php.net/manual/de/intro.session.php

    handbuch
    http://de3.php.net/manual/de/sess…on.save-handler

    hoffe es hilft weiter

    ralf

    Mit offenen Augen träumen

  • Danke euch, aber es klappt noch nicht.
    Cookies habe ich gelöscht, Frank, es taucht aber - wenn ich richtig vermute, nur bei Mac - weiterhin auf. Ich habe auch nichts händisch verändert, Ralf, und die von dir verlinkten Dokumente (danke nochmal dafür, die scheinen sich genau mit meinem Problem zu beschäftigen, jetzt muss ich sie nur noch verstehen) übersteigen leider meinen Horizont ... :)
    Anderst gesagt, ich habe keine Ahnung, in welcher Datei ich die Speicherei wieder abschalten muss. Denn die Plugin-Files habe ich ja gelöscht.

    Stefan

  • Deine Anwendung möchte eine Session speichern. Die Session soll in /tmp/ gespeichert werden. Hierfür hast du verständlicherweise keine rechte auf dem Server.


    Ich interpretiere die Fehlermeldung anders; eine bestehende Sesssion-Datei in /tmp darf da scheinbar nicht geöffnet werden. In /tmp darf übrigens normalerweise jeder schreiben, lesen und löschen (dazu ist der Ordner da), aber jeder strikt nur seine eigenen Dateien - was hier das Problem zu sein scheint. Deshalb habe ich im ersten Anlauf blind auf einen Benutzerwechsel getippt (PHP-Modus-Wechsel).

    Falls der Provider die Anweisung zulässt (sollte eigtl. ohne weiteres gehen), würde ich in der .htaccess nun folgendes versuchen:

    Code
    <IfModule mod_php5.c>
          php_flag session.save_path   /absoluter/unix/pfad/zu/meinemweb/htdocs/wp-content/files/tmp
    </IfModule>


    Der tmp-Ordner im eigenen Webspace muss von PHP beschreibbar sein, also ggf. mit 777 versehen. Und lege bitte eine leere index.php in den tmp-Ordner. Noch besser wäre es, wenn der eigene tmp-Ordner ausserhalb des DOCUMENT_ROOT angelegt würde, also z. B. unter /absoluter/unix/pfad/zu/meinemweb/tmp

    EDIT: Obwohl das eigtl. alles Quatsch ist. Ich sehe im FF keinerlei Fehler. Hast Du mehr als deinen einen Mac-Safari getestet? Was sagt denn z.B. Chrome auf deinem Mac? Sieht irgendjmd. hier im Forum Fehlermeldungen auf seinem Safari?

    Ich glaube, Du hast einfach Deine Domain- bzw. Sitzungscookies noch nicht alle erwischt. Der Fehler taucht wahrsch. nur bei dieser einen Session auf.

    Einmal editiert, zuletzt von F-rank (17. Juni 2013 um 02:04)


  • In /tmp darf übrigens normalerweise jeder schreiben, lesen und löschen (dazu ist der Ordner da), aber jeder strikt nur seine eigenen Dateien - was hier das Problem zu sein scheint.

    Die Session in das /temp Verzeichnis zu legen ist ein großes Sicherheitsproblem. Die Session kann so leichter entführt werden. Beachte hier die Hinweise im PHP - Handbuch.

    Die Daten haben bei einem Hoster dort nicht verloren.

    Mit offenen Augen träumen

  • Also mein Lösungsvorschlag: diese leidige SESSION-Datei in /tmp entweder selber löschen (falls eigener Zugriff via SSH besteht) oder aber den Hoster bitten, dies für dich zu tun.

    Schöne Grüße,
    Frank

  • Anderst gesagt, ich habe keine Ahnung, in welcher Datei ich die Speicherei wieder abschalten muss. Denn die Plugin-Files habe ich ja gelöscht.


    irgendwo in deiner Anwendung wird eine Session gestartet. Hierbei wird eine ID an den Browser gesendet und das Gegenstück auf dem Server gespeichert.

    Gestartet wird die Session mit

    Code
    [B][size=10]session_start[/SIZE][/B]

    http://de3.php.net/manual/de/function.session-start.php

    Du kannst den Speicherort der Session in der php.ini hinterlegen oder evtl. in der htaccess oder im PHP Script (vor session_start) zum Beispiel in der wp-config.php den Pfad aufnehmen
    http://de3.php.net/manual/de/function.session-save-path.php

    Code
    session_save_path('/dein/pfad/auf/dem/server/in/ein/lesbares/und/schreibbares/verzeichnis/');


    Das Verzeichnis sollte nur für PHP schreibbar und lesbar sein _und_ nicht(!) für alle alles erlauben.

    'chmod 770' setzt ziemlich strenge Rechte
    etwas mehr [size=10]Beqemlichkeit[/SIZE]

    (warum jetzt auch immer) ist
    'chmod 775'

    Wenn du dies in den F-rank Verzeichnisbaum

    /wp-content/files/tmp

    machen solltest, verhindere, dass in dem Verzeichnis Scripte ausgeführt werden können.
    Alle Verzeichnisse, die per Webbrowser erreichbar sind
    http://example.org/wp-content/files/tmp/
    in dem Bespiel - solltest du verhindern, dass dort fremde scripte ausführen können. Sie
    dürfen nach seiner Anleitung ja bereits dort schreiben.

    .htaccess



    diese Datei sollte für keinen mehr schreibbar sein chmod 444

    cu

    ralf

    Mit offenen Augen träumen

  • Vielen Dank euch beiden!

    Gelöst.

    Ich habe Franks Code in die Haupt - .htaccess geschrieben, das tmp-Verzeichnis am von euch vorgeschlagenen Ort angelegt, die leere index.php und Ralfs .htaccess (chmod 444) hineingesetzt. Am Ende habe ich die Schreibrechte für das Verzeichnis auf 777 geändert - die .htaccess ist ja noch da.

    Und nun geht es! :)

    DANKE!!

    Einmal editiert, zuletzt von Farlif (17. Juni 2013 um 07:57)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!