是什么导致 soap 响应 return 新服务器上没有数据?

what causes soap response to return no data on new server?

我们刚刚转移到新服务器以获取 tls 1.2。需要新服务器 php 5.6。在大多数情况下,我的代码有效。有几个例外。我有两个来自不同供应商的 SOAP API 进程。一个工作正常,另一个 returns 这个:

Error: A847E54F5AEA4E798rt0.c.ie.o5DF59@4p7098Fs1lFf4v892c4m 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";
} 

这条线在新服务器上不断出现。
回声 "Error: " 。 $运行报告数据。 “没有返回任何数据”; $runReportData 是变化的令牌值,所以我得到了响应,但实际数据没有成功。它必须是某种服务器问题,只需要一点帮助来追踪它。

答案令人抓狂,引出另一个问题。

服务器设置为芝加哥时间。 php 脚本使用 UTC,如下所示:

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

所以实际上我是在要求将来在没有可用数据的情况下提供报告。

新问题,为什么 php 使用 UTC 而不是服务器时间?在 ini 文件中,它被设置为 UTC!

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

希望有一天这能帮助某人节省一些时间!