PHP:是否有类似于xmlrpc_encode_request的函数?

3

我一直在编写免费的php脚本。

但是当我完成后,不幸地发现在一些托管环境中xmlrpc_encode_request无法正常工作。

有没有一种方法可以直接激活它而不需要编辑php.ini?或者有没有任何类似于xmlrpc_encode_request的函数可以在不编辑php.ini的情况下使用?

非常感谢任何帮助。

例:

<?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);
}
?>

你有可以包含的任何代码吗?关于您的代码无法正常工作的更多细节(错误消息等)也会很有帮助。 - JW8
1个回答

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);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接