我正在尝试使用WordPress XML-RPC。我发现默认情况下会在我的WordPress版本(3.9.1)中启用XMLRPC。但是当我尝试运行以下PHP代码时,会显示以下错误:
Fatal error: Call to undefined function xmlrpc_encode_request() in /Applications/XAMPP/xamppfiles/htdocs/easyblog/test/hellotest.php on line 6
这是我的PHP代码。
<?PHP
//XML RPC Test
define('RPC_URL', 'http://localhost/wordpress/xmlrpc.php');
function sendRequest($methodName, $parameters)
{
$request = xmlrpc_encode_request($methodName, $parameters);
$ch = curl_init();
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_URL, RPC_URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 1);
$results = curl_exec($ch);
$results = xml_decode($results);
curl_close($ch);
return $results;
}
$parameters = array();
$response = sendRequest('demo.sayHello', $parameters);?>
服务器详细信息:
我在Mac OS X上使用XAMPP服务器和PHP 5.5.11。
当我用Google搜索此错误时,我发现我们需要在XAMPP php配置文件中启用XML-RPC。因此,在XAMPP php.ini文件中,我已取消注释extension=php_xmlrpc.dll
并重新启动服务器并进行检查。但我又得到了同样的错误。
答案 0 :(得分:0)
这可能是因为您尚未在服务器上安装xmlrpc。您可以按照以下步骤检查库:
1)使用此内容创建一个新的php文档。例如,info.php。
<?php
phpinfo();
?>
2)打开浏览器并加载上一个创建的页面:http://YOUR-DOMAIN/info.php
3)搜索“xmlrpc”部分。
4)关于这一点可能发生两件事:
4.1)如果你安装了xmlrpc库,可能是你的wordpress安装或检查点5有错误
4.2)如果您尚未在服务器上安装xmlrpc库,则必须安装。在ubuntu上,您可以在终端上安装xmlrpc库写sudo apt-get install curl libcurl3 libcurl3-dev php5-xmlrpc php5-curl
5)最后,检查你的文件php.ini是否启用了扩展名。找到以下行;extension=php_xmlrpc.so
并删除de“;”。 此时要小心:Windows服务器具有.dll扩展名,UNIX服务器(Mac OS X或Linux)具有.so扩展名。