PHP Session Problem

Kato

Registered User
Nachdem ich eine gefühlte Ewigkeit nach dem Problemauslöser gesucht habe, sieht mein Probelm wie folgt aus:
Ich übergebe eine Session mittels PHP von Datei xxx.php zu Datei yyy.php.
In Datei yyy.php steckt nur der Code, der den Wert der Sessionvariable auswirft. Nun hat sich herausgestellt, dass die Übergabe der Werte nur funktionert, wenn die erstere Datei root als Owner hat. In der Apachegruppe kann sie bleiben. Stelle ich den Ownder auf Apache, funktioniert die Übergabe nicht mehr.
Das kommt mir irgendwie seltsam vor. Hat jemand eine Idee woran das liegt und wie ich es einstellen kann, dass es funktioniert, die www-data Gruppe aber trotzdem Eigentümer bleiben kann?
 
Also ich konnte das jetzt soweit eingrenzen, dass ich die Ownership auf www-data einstellen konnte und es sich herausstellt, dass es sich wohl um eine Joomla-Sache handelt:
Sobald in der Datei in der die Session erstellt wird diese Zeilen drin sind
PHP:
define( '_JEXEC', 1 );
define('JPATH_BASE', '../../../' );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
$mainframe =& JFactory::getApplication('administrator');
$mainframe->initialise();
Kann ich die Session nicht mehr übergeben. Wird der mainframe Teil auskommentiert, wird die Session dagegen einwandfrei übergeben:
PHP:
define( '_JEXEC', 1 );
define('JPATH_BASE', '../../../' );
define( 'DS', DIRECTORY_SEPARATOR );
require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' );
require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' );
//$mainframe =& JFactory::getApplication('administrator');
//$mainframe->initialise();
Diese Zeilen sind aber leider notwendig, um an Daten aus Joomla heranzukommen.

Das einzige was ich mir vorstellen kann ist, dass Joomla irgendwie die Verwendung von regulären PHP Sessions verhindert. Ich werde das mal auf die Joomla Sesssionfunktionen umschreiben und sehen ob es dann funktioniert.
 
Last edited by a moderator:
Joomla verbiegt die Session-Funktionen von PHP und nutzt eine andere Art, um die Session-Daten zu speichern. Ich verwende die PHP-eigene Session-Funktion in meinen Scripts gar nicht, sondern habe mir eine eigene geschrieben, die die Daten in der Datenbank abspeichert.
 
Mit den von Joomla bereit gestelten Session-Funktionen funktioniert es nun. ;)
Ein Zusammenspiel zwischen diesen und den PHP-eigenen scheint in bestimmten Fällen nicht zu funktionieren. In einer anderen Konstellation habe ich es allerdings am Laufen. Das scheint von Bedingungen abzuhängen, die man eben ausprobieren muss.
 
Back
Top