Hallo, Ihr Typo3-Kenner.
Der Titel ist nicht sehr aussagekräftig, ich weiß, aber ich muß weiter ausholen, um das Problem zu beschreiben.
mit folgendem Template binde ich Content aus einem PHP-Skript ein:
page.40 = TEMPLATE
page.40 {
template = FILE
template.file = fileadmin/header.tmpl
}
includeLibs.test_library = fileadmin/skript/test_library.php
page.50 = USER
page.50.parameter = value
page.50.userFunc = user_test_library_class->php_funktion
page.60 = TEMPLATE
page.60 {
template = FILE
template.file = fileadmin/footer.tmpl
workOnSubpart = INHALT
}
So weit nix spannendes, denke ich. Das PHP-Skript wiederum holt den Content aber aus einem perl-Skript, das auf einer anderen Maschine (mit anderer Domain) läuft:
<?php
class user_test_library_class {
var $cObj; // reference to the calling object.
// php_funktion
//=============================================
function php_funktion ($content,$conf) {
global $TSFE;
$TSFE->set_no_cache();
$params ="?";
$params .= "parameter=".$conf["parameter"];
$cgi_call = "http://www.andere-domain.de/cgi-bin/perl_script.pl".$params;
$fp=fopen ($cgi_call, "r");
$result = "";
do {
$result .= fread($fp,1024);
} while ( !feof($fp) );
fclose ($fp);
return $result;
}
}
?>
Und nun zum Problem:
Wenn zwei verschiedene (Sagen wir mal User A und User B) User zeitgleich auf dieses Template (also identische id) zugreifen, bekommt User B den Content, den User A angefordert hatte, während User A nur Schrott bekommt, (alsob das perl-Skript gänzlich ohne Parameter aufgerufen worden wäre)
Kann sich jemand darauf einen Reim machen?
Sorry für die lange Frage.
Mit freundlichen Grüßen
robert