【发布时间】:2017-10-22 02:37:38
【问题描述】:
我目前正在使用 Slim 框架构建一个站点。我在我的网站上有一个端点设置,它正在工作,但是当尝试使用 PHP file_get_contents() 和 json_decode() 获取它时,没有返回任何内容。当我运行相同的代码但将 url 更改为远程公共 API 时,json 被解码并输出到页面。
工作代码
$url = "https://jsonplaceholder.typicode.com/users";
$contents = file_get_contents($url);
$results = json_decode($contents); // Returns JSON array
不适用于本地站点
$url = "https://local/api/endpoint";
$contents = file_get_contents($url);
$results = json_decode($contents); // Returns NULL
关于可能导致此问题的任何想法?可能是标题?
【问题讨论】:
-
当您将 - local/api/endpoint 输入浏览器时 - 您会看到什么?
-
local/api/endpoint给我一个 404 但如果我通过 HTTPS 路由它,它会给我预期的 json。 https 是否与它有关,因为 PHP 只是发送 http 代替? -
HTTPS 已从我的问题中的 url 文本中删除。在回答您的问题时,是的,这需要检查吗?
-
@TimBrownlaw 没有意义,因为当我定义 URL 时它通过 HTTPS。
-
嗯,是的...根据您问题中的代码,您正在使用HTTPS。你还有什么不一样的?