WordPress XMLRPC问题

时间:2014-06-29 05:13:45

标签: php wordpress macos xampp xml-rpc

我正在尝试使用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并重新启动服务器并进行检查。但我又得到了同样的错误。

1 个答案:

答案 0 :(得分: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并删除de“;”。 此时要小心:Windows服务器具有.dll扩展名,UNIX服务器(Mac OS X或Linux)具有.so扩展名。