0

我正在尝试在插件函数中运行 PEAR XMLRPC 以进行一些验证。在我服务器上的一个文件夹中的独立应用程序中一切正常,但是一旦我将所有文件放入我的插件文件夹,则:

require_once 'XML/RPC2/Client.php';

不起作用。Client.php 文件返回错误:

Warning:  require_once(XML/RPC2/Exception.php) [<a href='function.require-once'>function.require-once</a>]: failed to open stream:

所以我认为它与相对文件和非相对文件有关,但我似乎无法弄清楚为什么它在 wordpress 之外工作得很好。

如果我开始改变所有

require_once 'XML/RPC2...

作为服务器上的绝对路径,错误开始消失,但我觉得我不应该改变 PEAR 和 XMLRPC 的源来做我需要的事情。有什么建议么?

4

1 回答 1

1

您可以更新 PHP 包含路径:

set_include_path(get_include_path() . PATH_SEPARATOR . $pathToPearLibs);
require_once($pathToPearLibs . 'XML/RPC2/Client.php');

这将为 PHP 提供一个(正确的)位置来处理它尝试从错误的位置加载。

于 2012-10-08T18:46:40.150 回答