2014-06-29 152 views
3

我正在尝试使用WordPress XML-RPC。我发现默认情况下,XMLRPC将在我的WordPress版本(3.9.1)中启用。但是,当我试图运行下面的PHP代码,被显示以下错误:WordPress问题XMLRPC

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

服务器详细信息:

我使用的XAMPP服务器与PHP 5.5.11在Mac OS X

当我用Google搜索这个错误我发现,我们需要启用XML-RPC在XAMPP php配置文件中。所以在XAMPP php.ini文件中我已取消注释extension=php_xmlrpc.dll并重新启动服务器并进行检查。但是我又遇到了同样的错误。

+0

你确定php_xmlrpc.dll没有打开查看phpinfo()吗? –

+0

我该如何检查它是否启用?当我运行phpinfo()两个值时,xmlrpc显示xmlrpc_error_number和xmlrpc_errors。 – upendra

+0

我认为它没有启用。我用var_dump(get_loaded_extensions()),我没有找到xmlrpc。 – upendra

回答

0

这可能是因为您尚未在服务器上安装xmlrpc。您可以按照以下步骤检查库:

1)使用此内容创建一个新的php文档。例如,info.php。

<?php 
phpinfo(); 
?> 

2)打开浏览器并加载以前创建的页面:http://YOUR-DOMAIN/info.php

3)搜索 “XMLRPC” 部分。

screenchot of info.php

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并删除“;”。 请注意:Windows服务器具有.dll扩展名,UNIX服务器(Mac OS X或Linux)具有.so扩展名。