datenbankler: Problem mit Sessionbesitzrechten

Hallo
Ich habe ein dickes Problem, bei dem ich nicht mehr weiterweis.
Ich habe gut frequentierte Seite am laufen.
Am Anfang jeder Seite wird mit mit session_start() eine Session gestartet oder wieder aufgenommen. Nun habe ich mittels .htaccess auf php5 als cgi umgestellt, da der Server von All-inkl sonst nur php4 zur Verfügung stellt.

So weit so gut, nachdem ich sporadisch von meinen Benutzern angeschrieben wurde die diese Meldung bekamen:
Warning: session_start() [function.session-start]: open(/www/htdocs/ftpuser/temp/sess_ff0f52f6c9b1ecb71daa154e0b79352b, O_RDWR) failed: Permission denied (13) in /www/htdocs/ ftpuser /config.php  on line 2

Ich bin der  Sache nachgegangen, nachdem ich den Session Safe Path  auf mein FTP Verzeichnis gelegt hatte , konnte ich feststellen dass 80% der Sessions  „wwwrun“  gehören und die anderen 20% dem ftpuser.
Nach einigem hin und her mit meinem Provider wurde jetzt auf einen PHP5.3  per cgi umgestellt aber immer noch das gleiche. Ich sage es liegt irgendwie am Server oder dessen Konfiguration, mein Provider sagt es liegt an meinem Skript. Aber ich kann doch nur mit session_start() ein Session aufmachen von welchem Benutzer die erstellt wird kann ich doch nicht beeinflussen, oder etwa doch?
 Ich habe auf demselben Server aber anderer ftpuser eine Zweitinstallation gemacht, das selbe Skript  und selbe Konfiguration. Da sind dann alle Sessions dem ftpuser zugeordnet und ich kann es überhaupt nicht reproduzieren das auch nur eine Session auf „wwwrun“ läuft.
Ich habe mich jetzt intensiv mit der Thematik beschäftigt aber ich komme nicht so wirklich weiter. Weiß noch jemand einen Rat?
Vielen Dank
datenbankler

  1. Hello,

    Ich bin der  Sache nachgegangen, nachdem ich den Session Safe Path  auf mein FTP Verzeichnis gelegt hatte , konnte ich feststellen dass 80% der Sessions  „wwwrun“  gehören und die anderen 20% dem ftpuser.

    Dann schau doch mal, wem die Scripte gehören.

    Es liest sicb nämlich so, als hättest Du da ein CMS laufen, das mal mit der SAPI-Version von PHP (Modul des Webservers) installiert worden wäre und Du nun versuchen würdest, es einfach mit der CGI-Version weiterzubetreiben. Das geht selbstverständlich nicht so einfach.

    BTW:
    Ich hoffe, dass Deihn ursprünglicher Thread zu diesem Thema schon im Archiv ist, nicht dass ich Dich hier beim Doppelposting unterstütze :-)

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Moin!

    Am Anfang jeder Seite wird mit mit session_start() eine Session gestartet oder wieder aufgenommen. Nun habe ich mittels .htaccess auf php5 als cgi umgestellt, da der Server von All-inkl sonst nur php4 zur Verfügung stellt.

    Wenn das PHP im Apache-Modul eine Session-Datei erstellt, ist der Apache-User Eigentümer der Datei. Wenn das PHP als CGI eine Session-Datei erstellt, ist der Eigentümer des Skripts auch der Eigentümer der Session-Datei.

    Dein Problem sollte sich also erledigen, wenn du sämtliche Session-Dateien löschst - bzw. mindestens die, die wwwrun gehören. Denn die sollten von Sessions stammen, die vor der Umstellung auf CGI angelegt wurden, und deshalb im Prinzip schon lange abgelaufen sind.

    Nach einigem hin und her mit meinem Provider wurde jetzt auf einen PHP5.3  per cgi umgestellt aber immer noch das gleiche. Ich sage es liegt irgendwie am Server oder dessen Konfiguration, mein Provider sagt es liegt an meinem Skript. Aber ich kann doch nur mit session_start() ein Session aufmachen von welchem Benutzer die erstellt wird kann ich doch nicht beeinflussen, oder etwa doch?

    Dein Provider hat keine wirkliche Ahnung von den PHP-Interna. Schade, aber nicht wirklich verwunderlich: Provider-Admins beschäftigen sich in der Regel mit der Betriebsüberwachung von Servern, nicht mit der Programmierung von PHP - und die Supportmitarbeiter haben von beiden keine Ahnung (jedenfalls meistens, behaupte ich mal), sondern lesen reinkommende Kundenmails, suchen dazu passende Standardantworten und verpacken das eventuell noch nett in eigene Worte. Für Probleme mit kundeneigenen Skripten ist standardmäßig der Kunde verantwortlich.

    - Sven Rautenberg

    1. Hello,

      Dein Problem sollte sich also erledigen, wenn du sämtliche Session-Dateien löschst - bzw. mindestens die, die wwwrun gehören. Denn die sollten von Sessions stammen, die vor der Umstellung auf CGI angelegt wurden, und deshalb im Prinzip schon lange abgelaufen sind.

      Vermutlich muss er auch alle Scripte, die von der vermuteten Altinstallation mittels Script noch wwwrun gehören an den neuen Account-Besitzer übertragen, sonst wird er immer wieder gemischte Besitzverhältnisse der Sessions bekommen.

      Das wird vermutlich nur der Root-Admin machen können, wenn es kein Root-Server ist.

      Liebe Grüße aus dem schönen Oberharz

      Tom vom Berg

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de