2017-03-06 1 views
10

新しいサーバーに移動してtls 1.2を取得しました。新しいサーバーにはPHP 5.6が必要です。ほとんどの場合、私のコードが動作します。カップルの例外。私は、異なるベンダーの2つのSOAP APIプロセスを持っています。一つは、この、他のリターンを正常に動作します:何が原因で新しいサーバにデータが返されないのですか?

Error: [email protected] returned no data 

本の中央部分は応答してデータのストリームをキャッチするために使用されているAPIからのトークンです。問題はトークンを受け取った後で、応答の残りは空です。ここでは、このラインが一貫新しいサーバーに投げている。このFive9's API: How to pull reports using SOAP API and Basic Authentication

$runReportResult = $client->runReport($runReportParam); 

if(isset($runReportResult->return)){ 
    $runReportData = $runReportResult->return; 
    $isReportRunningParam["identifier"] = $runReportData; 
    $isReportRunningParam["timeout"] = 10; 

    $isReportRunningResult = $client->isReportRunning($isReportRunningParam); 

    if(empty($isReportRunningResult->return)){ 
     $getReportResultParam["identifier"] = $runReportData; 
     $getReportResult = $client->getReportResult($getReportResultParam); 
     if(isset($getReportResult->return->records)){  
      $getReportResultData = $getReportResult->return->records; 

// data processing stuff removed for clarity 

      } else { 
      echo "Error: " . $runReportData . " returned no data"; 
     } 
    } else { 
     echo "Error: " . $runReportData . " exceeded the report runtime limit"; 
    } 
} else { 
    echo "Error: " . $runReportParam["reportName"] . " wasn't found"; 
} 

に基づいており、関連するコードがあります。
echo "エラー:" $ runReportData。 "データを返しませんでした"; $ runReportDataは変更されるトークンの値なので、私は応答を得ていますが、実際のデータはそれを作っていません。それは、いくつかの並べ替えのサーバーの問題である、ちょうどそれを追跡するための少しのヘルプが必要です。

答えて

6

答えは騒がしく、別の質問につながります。

サーバーはシカゴ時間に設定されています。データが入手できなかったとき

echo date('Y-m-d H:i:s', time()); 

はとても有効で、私は将来的にレポートを求めていた:以下で明らかにされたPHPスクリプトは、UTCを使用しています。

新しい質問、なぜPHPはサーバー時間ではなくUTCを使用しますか? iniファイルではUTCに設定されていました!

[Date] 
; Defines the default timezone used by the date functions 
; http://php.net/date.timezone 
date.timezone = "UCT" 

これは誰かがいつか時間を節約するのに役立ちます。

+0

非常に良い**目**メイト、とても素敵な答え。 –

関連する問題