试图获取非对象的属性“TransactionStatus”

问题描述 投票:0回答:1

我正在使用 curl 在 php laravel 中访问一个 url

在我的本地机器上我有 php 版本 8.1.10,结果是正确的。我正在执行的代码是

$url = "some url";

$curlSession = curl_init();
curl_setopt($curlSession, CURLOPT_URL, $url);
curl_setopt($curlSession, CURLOPT_BINARYTRANSFER, true);
curl_setopt($curlSession, CURLOPT_RETURNTRANSFER, true);

$jsonData = json_decode(curl_exec($curlSession));
curl_close($curlSession);

$result = json_decode($jsonData);
echo $jsonData . "<br>";

if ($result->TransactionStatus == "Paid") {
    echo "<br>" . $result->TransactionStatus;
}

但是相同的代码没有在 php 版本为 7.2.34 的服务器上执行

给出错误“尝试获取非对象的属性”

我怎么解决这个问题?

php laravel curl
1个回答
0
投票

你双重解码,删除一个:

//...
$result = json_decode(curl_exec($curlSession));
curl_close($curlSession);

if ($result->TransactionStatus == "Paid") {
    echo "<br>" . $result->TransactionStatus;
}
© www.soinside.com 2019 - 2024. All rights reserved.