【发布时间】:2014-08-19 20:02:54
【问题描述】:
我正在尝试使用 WordPress XML-RPC。我发现默认情况下 XMLRPC 将在我的 WordPress 版本(3.9.1)中启用。但是当我尝试运行下面的 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 上使用带有 PHP 5.5.11 的 XAMPP 服务器。
当我用谷歌搜索这个错误时,我发现我们需要在 XAMPP php 配置文件中启用 XML-RPC。所以在 XAMPP php.ini 文件中我取消了extension=php_xmlrpc.dll 的注释并重新启动服务器并检查。但是我又遇到了同样的错误。
【问题讨论】:
-
您能否通过查看 phpinfo() 确认 php_xmlrpc.dll 未启用?
-
如何检查它是否启用?当我在关于 xmlrpc 的两个值上运行 phpinfo() 时,会显示 xmlrpc_error_number 和 xmlrpc_errors。
-
我认为它没有启用。我用了var_dump(get_loaded_extensions()),没有找到xmlrpc。
-
你能用 phpinfo() 确认你正在编辑正确的 php.ini 文件吗?它将位于顶部。
-
您没有使用 Windows 服务器,因此加载 .dll 对您没有任何好处。您可能会很幸运,将 .dll 更改为 .so 并重新启动 Apache。否则我不使用 XAMPP,所以我无法评论启用此功能。
标签: php wordpress macos xampp xml-rpc