Php Fortnite Tracker API仅在本地计算机上运行?
我目前正在使用我的Fortnite统计数据创建一个引导网站,并最终将其发布到我的twitch提要上。然而,当我在本地机器上运行时,我成功地让它工作得很好,但是当我将它上传到我的hostgator目录时,网站加载得很好,它只是没有数据。我得到的错误我相信是指我的JSON文件,但我假设发生此错误的唯一原因是因为其中没有数据,因为它在本地机器以外的任何机器上运行时无法与Fortnite API一起工作。以前有没有其他人经历过类似的事情 错误: 源映射错误:SyntaxError:JSON.parse:处出现意外字符 第2行JSON数据的第1列 源映射URL:bootstrap.min.css.Map 这是我的代码,我想发布它并没有多大意义,就好像它在我本地的机器上运行一样,逻辑说它很好,对吧Php Fortnite Tracker API仅在本地计算机上运行?,php,json,api,Php,Json,Api,我目前正在使用我的Fortnite统计数据创建一个引导网站,并最终将其发布到我的twitch提要上。然而,当我在本地机器上运行时,我成功地让它工作得很好,但是当我将它上传到我的hostgator目录时,网站加载得很好,它只是没有数据。我得到的错误我相信是指我的JSON文件,但我假设发生此错误的唯一原因是因为其中没有数据,因为它在本地机器以外的任何机器上运行时无法与Fortnite API一起工作。以前有没有其他人经历过类似的事情 错误: 源映射错误:SyntaxError:JSON.parse:
<?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
addif(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相对较新时