我已经设置了一个对IGDB.com的API调用,并且在本地一切都运行良好,根本没有问题。在现场虽然它正在做大量不同的事情,但没有返回数组中的任何主体并将其抛入['标题']或只是在我已经设置它时要求输入密钥。
$headers = array(
'Accept' => 'application/json',
"X-Mashape-Key" => "KEY IS NORMALLY HERE"
);
$query = array(
'fields' => 'name',
'limit' => 10,
);
//$body = Unirest\Request\Body::form($query);
$response = Unirest\Request::get('https://igdbcom-internet-game-database-v1.p.mashape.com/games/?', $headers, $query);
当我使用var_dump响应时,使用完全相同的代码。
在本地
object(Unirest\Response)#975 (4) { ["code"]=> int(200) ["raw_body"]=> string(121) "[{"id":2411},{"id":2410},{"id":2409},{"id":2408},{"id":1213},{"id":1211},{"id":1210},{"id":1208},{"id":1207},{"id":1206}]" ["body"]=> array(10) { [0]=> object(stdClass)#979 (1) { ["id"]=> int(2411) } [1]=> object(stdClass)#1003 (1) { ["id"]=> int(2410) } [2]=> object(stdClass)#981 (1) { ["id"]=> int(2409) } [3]=> object(stdClass)#976 (1) { ["id"]=> int(2408) } [4]=> object(stdClass)#977 (1) { ["id"]=> int(1213) } [5]=> object(stdClass)#978 (1) { ["id"]=> int(1211) } [6]=> object(stdClass)#996 (1) { ["id"]=> int(1210) } [7]=> object(stdClass)#997 (1) { ["id"]=> int(1208) } [8]=> object(stdClass)#999 (1) { ["id"]=> int(1207) } [9]=> object(stdClass)#1000 (1) { ["id"]=> int(1206) } } ["headers"]=> array(8) { [0]=> string(15) "HTTP/1.1 200 OK" ["Content-Type"]=> string(9) "text/json" ["Date"]=> string(29) "Mon, 13 Feb 2017 22:50:58 GMT" ["Server"]=> string(13) "Mashape/5.0.6" ["X-RateLimit-requests-Limit"]=> string(4) "7000" ["X-RateLimit-requests-Remaining"]=> string(4) "6755" ["Content-Length"]=> string(3) "121" ["Connection"]=> string(10) "keep-alive" } }
现场直播
object(Unirest\Response)#1 (4) { ["code"]=> int(401) ["raw_body"]=> bool(false) ["body"]=> NULL ["headers"]=> array(1) { ["{"message""]=> string(123) ""Missing Mashape application key. Go to http:\/\/docs.mashape.com\/api-keys to learn how to get your API application key."}" } }
我似乎无法弄清楚为什么它在本地运作得很好,但在现场它正在做一些完全不同的事情。
我对Unirest很陌生,所以调试它对我来说很难。
谢谢!
更新:这真让我难过。现在看来,返回的正文被添加到headers数组中。哪个不应该发生。有什么想法吗?
答案 0 :(得分:0)
因此经过大量调试后,它实际上是服务器本身的PHP opendir安全问题。
如果有人遇到相同的问题或类似问题,请检查php.ini文件中的opendir设置。对我来说这是阻止脚本,因此减少脚本可以运行的地方的紧张程度现在完美。