2017-03-06 2 views
10

새 서버로 이동하여 tls 1.2를 얻었습니다. 새로운 서버는 PHP 5.6을 필요로합니다. 대부분 내 코드가 작동합니다. 몇 가지 예외. 여러 공급 업체의 두 가지 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

아주 좋은 ** 눈 ** 메이트, 아주 좋은 대답. –