从amazon mws php api中删除调试信息

从amazon mws php api中删除调试信息,php,amazon,amazon-mws,Php,Amazon,Amazon Mws,当我在linux cli中使用Amazon MWS php API时,代码返回大量bebug信息-输出从以下内容开始:- About to connect() to mws.amazonservices.co.uk port 443 (#0) Trying 178.236.4.102... connected Connected to mws.amazonservices.co.uk (178.236.4.102) port 443 (#0) Initializing NSS with cer.

当我在linux cli中使用Amazon MWS php API时,代码返回大量bebug信息-输出从以下内容开始:-

About to connect() to mws.amazonservices.co.uk port 443 (#0)
Trying 178.236.4.102... connected
Connected to mws.amazonservices.co.uk (178.236.4.102) port 443 (#0)
Initializing NSS with cer....
实际PHP代码如下所示:-

include_once ('MarketplaceWebService/.config.inc.php');  

function SubmitFeed(MarketplaceWebService_Interface $service, $request) 
{
try {
        $response = $service->submitFeed($request);
          if ($response->isSetSubmitFeedResult()) { 
              $submitFeedResult = $response->getSubmitFeedResult();
              if ($submitFeedResult->isSetFeedSubmissionInfo()) { 
                  $feedSubmissionInfo = $submitFeedResult->getFeedSubmissionInfo();
                  if ($feedSubmissionInfo->isSetFeedSubmissionId()) 
                  {
                      return $feedSubmissionInfo->getFeedSubmissionId();
                  }
              } 
          } 
} catch (MarketplaceWebService_Exception $ex) {
   echo("Caught Exception: " . $ex->getMessage() . "\n");  echo("Response Status Code: " . $ex->getStatusCode() . "\n");
   echo("Error Code: " . $ex->getErrorCode() . "\n");  echo("Error Type: " . $ex->getErrorType() . "\n");
   echo("Request ID: " . $ex->getRequestId() . "\n"); echo("XML: " . $ex->getXML() . "\n");
   echo("ResponseHeaderMetadata: " . $ex->getResponseHeaderMetadata() . "\n");
    }
}


$xml = '<?xml version="1.0" encoding="utf-8"?>
<AmazonEnvelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="amzn-envelope.xsd">
<Header>
<DocumentVersion>1.01</DocumentVersion>
<MerchantIdentifier>xxxxxxxxxx</MerchantIdentifier>
</Header>
<MessageType>Inventory</MessageType>
<Message>
<MessageID>1</MessageID>
<OperationType>Update</OperationType>
<Inventory>
<SKU>VWDTA29E</SKU>
<Quantity>41</Quantity>
</Inventory>
</Message>
</AmazonEnvelope>';


$xmlHandle = @fopen('php://temp', 'rw+');
fwrite($xmlHandle, $xml);
rewind($xmlHandle);
$md5 = base64_encode(md5(stream_get_contents($xmlHandle), true));

$parameters = array (
  'Merchant' => MERCHANT_ID,
  'FeedType' => '_POST_INVENTORY_AVAILABILITY_DATA_',
  'FeedContent' => $xmlHandle,
  'PurgeAndReplace' => false,
  'ContentMd5' => $md5,
);

$request = new MarketplaceWebService_Model_SubmitFeedRequest($parameters);
echo $feedsubmissionid = SubmitFeed($service, $request);
include_once('MarketplaceWebService/.config.inc.php');
函数SubmitFeed(MarketplaceWebService_接口$service,$request)
{
试一试{
$response=$service->submitFeed($request);
如果($response->isSetSubmitFeedResult()){
$submitFeedResult=$response->getSubmitFeedResult();
如果($submitFeedResult->isSetFeedSubmissionInfo()){
$feedSubmissionInfo=$submitFeedResult->getFeedSubmissionInfo();
如果($feedSubmissionInfo->isSetFeedSubmissionId())
{
返回$feedSubmissionInfo->getFeedSubmissionId();
}
} 
} 
}捕获(MarketplaceWebService_例外$ex){
echo(“捕获的异常:.$ex->getMessage().”\n”);echo(“响应状态代码:.$ex->getStatusCode().”\n”);
echo(“错误代码:”..ex->getErrorCode()。“\n”);echo(“错误类型:”..ex->getErrorType()。“\n”);
echo(“请求ID:.$ex->getRequestId().”\n”);echo(“XML:.$ex->getXML().”\n”);
echo(“ResponseHeaderMetadata:”..ex->getResponseHeaderMetadata()。“\n”);
}
}
$xml='0
1.01
XXXXXXXXX
库存
1.
更新
VWDTA29E
41
';
$xmlHandle=@fopen('php://temp","rw+",;
fwrite($xmlHandle,$xml);
倒带($xmlHandle);
$md5=base64_编码(md5(stream_get_contents($xmlHandle),true));
$parameters=数组(
“商户”=>商户ID,
“FeedType”=>“\u POST\u库存\u可用性\u数据”,
“FeedContent”=>$xmlHandle,
“PurgeAndReplace”=>错误,
“ContentMd5”=>md5美元,
);
$request=new-MarketplaceWebService\u Model\u SubmitFeedRequest($parameters);
echo$feedsubmissionid=SubmitFeed($service,$request);
我如何才能阻止这些信息显示出来,因为这些信息只在测试中有用,而在生产中不有用


干杯

没办法,我也面临同样的问题,而且很难跟踪您的输出。但是,如果有echo语句,请尝试通过跟踪echo语句来编辑提要API类文件

祝你好运


在Client.php中的私有函数getDefaultCurlOptions rem out或set CURLOPT_VERBOSE=false中找到了它

我看不到回声、var转储和打印。我在函数调用中尝试了ob_start()和ob_end_flush(),但都不起作用!我糊涂了!在私有函数getDefaultCurlOptions rem out或set CURLOPT_VERBOSE=false!的Client.php中找到了它:-)