7

解凍したAmazonのMWSクライアントライブラリAPIをダウンロードした後、スクリプトの1つを実行して、すべてが機能しているかどうかを確認しました。

GetReportCountSample.phpファイルを実行しようとすると、エラーが発生します

Fatal error: Class 'MarketplaceWebService_Client' not found in C:\xampp\htdocs\sites\amazon marketplace\Samples\GetReportCountSample.php on line 68

構成ファイルを調べて、次のような資格情報を入力しました。

define('AWS_ACCESS_KEY_ID', '<key id>');                 //has been input
define('AWS_SECRET_ACCESS_KEY', '<secret key id>');       //has been input

define('APPLICATION_NAME', '<Your Application Name>');   //no idea what this is
define('APPLICATION_VERSION', '<Your Application Version or Build Number>'); //no idea

define ('MERCHANT_ID', '<merch id>');                    //has been input

と呼ばれるphpファイルが見つかりませんMarketplaceWebService_Client。助けが必要です。ありがとうございます。

4

3 に答える 3

4

MarketplaceWebService_Client という名前の php ファイルはありません。ダウンロードしたライブラリのClient.php 。MarketplaceWebService_Client クラスは client.php ファイルのみにあります。GetReportCountSample.php でClient.phpのインクルード パスが正しく指定されていないと思います。Client.php は、次のパス ( Samples フォルダーの外) にある可能性があります: C:\xampp\htdocs\sites\amazon marketplace\Client.php

于 2013-01-23T10:00:05.583 に答える
1

これは古い質問だと思いますが、同様の問題があり、調査結果を共有すると思いました。

ここでの問題は、ライブラリのインストール パスを変更したために発生しました。

... not found in C:\xampp\htdocs\sites\amazon marketplace\Samples\GetReportCountSample.php

Lib ディレクトリを含めないことで、このエラーが生成されました。.config.php を読むと、

function __autoload($className){
    $filePath = str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
    $includePaths = explode(PATH_SEPARATOR, get_include_path());
    foreach($includePaths as $includePath){
        if(file_exists($includePath . DIRECTORY_SEPARATOR . $filePath)){
            require_once $filePath;
            return;
        }
    }
}

これは、クラスがアンダースコアで分割されたら、パスを正しくする必要があることを意味します。それによってパス「MarketplaceWebService/client.php」を探しています。ディレクトリ「MarketplaceWebService」を削除すると、クラスを定義するためのこのファイルが見つかりません。

修正するには、ライブラリを「htdocs\sites\amazon marketplace\MarketplaceWebService\」にインストールするだけで問題ありません。

これが誰かに役立つことを願っています。

于 2014-11-07T13:40:18.123 に答える