Laravel:file_get_contents不起作用

时间:2017-05-22 02:08:23

标签: php laravel laravel-5

我在Laravel学习,Laravel 5.4XAMPP 5.6.23出现了一个奇怪的错误。 假设我有一个带有APIController和UserController的Laravel应用程序。 在APIController.index()函数中:

public function index()
{
    $users = User::all();
    return response()->json($users);
}

在UserController.index()函数中:

public function index()
{
    $url = route("api.index");
    $content = @file_get_contents($url);
    dd($content);
}

注意route("api.index") return "http://localhost:8000/api",并且正在映射到APIController.index()函数。 在php.ini中,我有“allow_url_fopen”= On。问题是file_get_contents()总是超过最大时间。当我替换$ url =“https://jsonplaceholder.typicode.com/comments”时,它可以正常工作。我不知道什么是错的因为Laravel没有向我显示任何错误而不是超过最大时间。任何人都可以帮忙吗?谢谢!

2 个答案:

答案 0 :(得分:0)

google多次之后,我的答案是:我无法读取来自控制器所在项目的同一项目的API数据。我必须在jquery中编写函数read API(在视图中不是控制器)。不幸的是,寿

答案 1 :(得分:0)

您可以从电脑上访问http://localhost:8000/(XAMPP以外) 但是,您需要检查从运行PHP的XAMPP内部访问http://localhost:8000/会发生什么。

  1. 登录XAMPP服务器
  2. 尝试$ curl -i http://localhost:8000
  3. 我的猜测:

    1. :8000未开启。
    2. 您可能需要更改域名或端口或路径。