0

プラグイン関数内でPEARXMLRPCを実行して、検証を実行しようとしています。サーバー上のフォルダーにあるスタンドアロンアプリではすべて正常に機能していますが、すべてのファイルをプラグインフォルダーに入れるとすぐに、次のようになります。

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:

だから私はそれが相対ファイルと非相対ファイルに関係していると思いますが、なぜそれがワードプレスの外でうまく機能するのか理解できないようです。

私がすべてを変更し始めたら

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 が間違った場所からロードしようとしたときに、もう 1 つの (正しい) 場所を探すことができます。

于 2012-10-08T18:46:40.150 に答える