dedlfix: XML-RPC $HTTP_RAW_POST_DATA unter PHP 5.2.0

Beitrag lesen

echo $begrüßung;

Ich wälze schon seit gestern Mittag Foren und zerbreche mir den kopf, aber ich komme einfach nicht darauf.

Diese Information hilft uns aber nicht bei der Beantwortung der Frage. Interessanter wäre, ob du mit einem auf E_ALL gestellten error_reporting mehr hilfreiche Meldungen bekommst, ob du die Rückgabewerte der verwendeten Funktionen überprüft hast, und wie du Inhalte von Variablen testet (hoffentlich (auch) mit var_dump(), denn das erzeugt eine genauere Ausgabe).

function do_call($host, $port, $request) {
    $fp = fopen('/home/servertest.php', 'r');
    $query = "POST /home/servertest.php HTTP/1.0\nUser_Agent: My Egg Client\nHost: ".$host."\nContent-Type: text/xml\nContent-Length: ".strlen($request)."\n\n".$request."\n";
    if (!fputs($fp, $query, strlen($query))) {

Du öffnest hier eine "Datei" zum Lesen ('r') und möchtest dann etwas reinschreiben.

$errstr = "Write error";
        return 0;

Im Fehlerfall erzeugst du einen String, der aber nirgendwo abgefragt wird, weil du sofort die Funktion verlässt. Hast du mal explizit nachgesehen, ob du von do_call() eine 0 zurückbekommst?

$request = xmlrpc_encode_request('cycle', 'egg');
$response = do_call($host, $port, $request);
/* do something with $response, e.g. print it */
?>

Sieht nicht so aus, trotz des Hinweises im Kommentar.

$request = $HTTP_RAW_POST_DATA; // no you don't need 'always on', and no $_POST doesn't work.

Wieder eines dieser beliebten Ich-kopier-mir-die-Variable-mal-um-weil-$request-einfacher-zu-tippen-ist-als-$HTTP_RAW_POST_DATA-Spielchen? Und das obwohl im weiteren Verlauf nur ein einziges Mal auf $request Bezug genommen wird.

echo "$verabschiedung $name";