$errno ,'faultString'=>"Remote XMLRPC Error from ".$_SERVER['HTTP_HOST'].": $errstr in at $errfile:$errline" ))); die(); } set_error_handler('return_xmlrpc_error'); /* Использование функции без параметра: curl -d "echo" http://kappa.cs.karelia.ru/~kulakov/xmlrpc/test.php Использование функции с параметром: curl -d "echoparamSome input" http://kappa.cs.karelia.ru/~kulakov/xmlrpc/test.php */ function echo_func($method_name, $params, $app_data) { if (is_array($params[0]) && array_key_exists("param", $params[0])) { $ret = array("Found parameter", $params[0]["param"]); } else { $ret = "No params. "; } if (is_array($ret)) array_push($ret, "Some results returns"); else $ret .= "Some results returns"; return $ret; } /* create server */ $xmlrpc_server = xmlrpc_server_create(); /* register methods */ xmlrpc_server_register_method($xmlrpc_server, "echo", "echo_func"); /* process request */ $request_xml = file_get_contents("php://input");//$HTTP_RAW_POST_DATA; $response = xmlrpc_server_call_method($xmlrpc_server, $request_xml, ''); header('Content-Type: text/xml'); echo $response; xmlrpc_server_destroy($xmlrpc_server); ?>