Php Fortnite Tracker API仅在本地计算机上运行?

Php Fortnite Tracker API仅在本地计算机上运行?,php,json,api,Php,Json,Api,我目前正在使用我的Fortnite统计数据创建一个引导网站,并最终将其发布到我的twitch提要上。然而,当我在本地机器上运行时,我成功地让它工作得很好,但是当我将它上传到我的hostgator目录时,网站加载得很好,它只是没有数据。我得到的错误我相信是指我的JSON文件,但我假设发生此错误的唯一原因是因为其中没有数据,因为它在本地机器以外的任何机器上运行时无法与Fortnite API一起工作。以前有没有其他人经历过类似的事情 错误: 源映射错误:SyntaxError:JSON.parse:

我目前正在使用我的Fortnite统计数据创建一个引导网站,并最终将其发布到我的twitch提要上。然而,当我在本地机器上运行时,我成功地让它工作得很好,但是当我将它上传到我的hostgator目录时,网站加载得很好,它只是没有数据。我得到的错误我相信是指我的JSON文件,但我假设发生此错误的唯一原因是因为其中没有数据,因为它在本地机器以外的任何机器上运行时无法与Fortnite API一起工作。以前有没有其他人经历过类似的事情

错误:

源映射错误:SyntaxError:JSON.parse:处出现意外字符 第2行JSON数据的第1列

源映射URL:bootstrap.min.css.Map

这是我的代码,我想发布它并没有多大意义,就好像它在我本地的机器上运行一样,逻辑说它很好,对吧

<?php

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.fortnitetracker.com/v1/profile/psn/myusername");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'TRN-Api-Key: mykey'
));
$response = curl_exec($ch);
curl_close($ch);
$fp = fopen("stats.json", "w");
fwrite($fp, $response);
fclose($fp);

$data = json_decode(file_get_contents("stats.json"));
$solo = $data->stats->p2;//solos data
$duos = $data->stats->p10;//duos data
$squads = $data->stats->p9;//squads data
$solo_wins = $solo->top1->valueInt;
$duos_wins = $duos->top1->valueInt;
$squads_wins = $squads->top1->valueInt;
$solo_matches = $solo->matches->valueInt;
$duos_matches = $duos->matches->valueInt;
$squads_matches = $squads->matches->valueInt;
$solo_kd = $solo->kd->valueDec;
$duos_kd = $duos->kd->valueDec;
$squads_kd = $squads->kd->valueDec;
$solo_games = $solo->matches->valueInt;
$duos_games = $duos->matches->valueInt;
$squads_games = $squads->matches->valueInt;
$solo_kills = $solo->kills->valueInt;
$duos_kills = $duos->kills->valueInt;
$squads_kills = $squads->kills->valueInt;

?>

这个问题发生在其他人身上是正确的:Hostgator似乎不自动允许SSH和cURL组合()。如果你在谷歌上搜索Hostgator cURL,你已经得到了一些有用的回复。有几个人(比如一个和一个评论人)报告说,升级到PHP5.5/5.6可以解决这个问题。我当然建议你检查一下Stanislav在后面的评论中提出的建议

另一个解决方案可能在于禁用
CURLOPT\u SSL\u VERIFYPEER
和其他SSL选项


但是,如果没有
curl\u exec
返回的实际错误消息,您当前的问题无法为我们提供足够的信息来确定问题所在。

您有json的副本吗?我有,但它超出了问题的字符数。但我不认为json是在本地机器上运行时的问题索引生成器使用API中的数据创建JSON文件。但是当我在HostGator目录上运行它时,没有生成任何内容,该文件是空的。您可以将其发布到外部链接上吗,因为错误似乎与JSON有关。在
curl\u close
add
if(curl\u error($ch)){echo'error:'.curl\u error($ch);}之前,您需要做两件事
还添加
curl\u setopt($ch,CURLOPT\u VERBOSE,1);
curl\u exec
之前。您在服务器上运行时遇到错误,并且没有打印它。还添加
var\u dump($response)
要打印@TarunLalwani提到的您得到的响应,请打印
curl错误
并检查Hostgator,情况可能是您的Hostgator帐户中没有正确设置curl。将PHP更新为5.6为我解决了此问题。感谢您的帮助。不客气,无效版本曾经让我很头疼o当Python 3相对较新时