我一直在写免费的PHP脚本
当我完成遗憾时,我发现xmlrpc_encode_request无法在某些托管中使用
有没有办法直接激活它而无需编辑php.ini?或者是否有任何函数像xmlrpc_encode_request一样没有编辑php.ini?
非常感谢任何帮助。
EX:
<?php
$request = xmlrpc_encode_request("method", array(1, 2, 3));
$context = stream_context_create(array('http' => array(
'method' => "POST",
'header' => "Content-Type: text/xml",
'content' => $request
)));
$file = file_get_contents("http://www.example.com/xmlrpc", false, $context);
$response = xmlrpc_decode($file);
if ($response && xmlrpc_is_fault($response)) {
trigger_error("xmlrpc: $response[faultString] ($response[faultCode])");
} else {
print_r($response);
}
?>
答案 0 :(得分:1)
这已在XML_RPC2包中实施。这是一个例子:
require_once 'XML/RPC2/Backend/Php/Request.php';
$request = new XML_RPC2_Backend_Php_Request('method', 'utf-8');
$request->setParameters(array(1, 2, 3));
$context = stream_context_create(array('http' => array(
'method' => "POST",
'header' => "Content-Type: text/xml",
'content' => $request->encode(),
)));
然而,使用他们的客户也会更容易:
require_once 'XML/RPC2/Client.php';
$client = XML_RPC2_Client::create('http://example.org/xmlrpc');
$response = $client->method(1, 2, 3);