Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从同一服务器调用路由会导致无限循环_Php_Api_Server_Request - Fatal编程技术网

Php 从同一服务器调用路由会导致无限循环

Php 从同一服务器调用路由会导致无限循环,php,api,server,request,Php,Api,Server,Request,启动前 我以Laravel为例,但实际上我用手工制作的MVC做了一个小项目,问题仍然存在,所以这与框架无关 上下文 我使用phpartisanserve,它相当于php-S localhost:8000-t public来启动我的web应用程序。我不使用Apache(可能是一个提示?) 客户端(人工)通过其web浏览器请求页面/user。以下是响应此端点的控制器的外观: routes.php 对我来说,端点将接收来自客户端(人类)的请求,然后向api端点发送第二个请求,获取json数据,解析它(

启动前

我以Laravel为例,但实际上我用手工制作的MVC做了一个小项目,问题仍然存在,所以这与框架无关

上下文

我使用
phpartisanserve
,它相当于
php-S localhost:8000-t public
来启动我的web应用程序。我不使用Apache(可能是一个提示?)

客户端(人工)通过其web浏览器请求页面
/user
。以下是响应此端点的控制器的外观:

routes.php

对我来说,端点将接收来自客户端(人类)的请求,然后向api端点发送第二个请求,获取json数据,解析它(使用
data=$response->getBody()->getContents();
GuzzleHttp方法),然后将它提供给视图(使用
returnview('user.index')->with('users',$data);

问题

服务器实际上是无限循环的,我不明白在这个过程中失败的是什么https://ipapi.co/json工作完全正常)


有人能告诉我是什么导致了这种冻结吗?

这肯定与PHP处理请求的方式有关。我在同一个位置
localhost:8000
上扎根了我的项目,通过设置Apache配置
httpd.conf
,我可以跨路径发出请求


如果有任何灵魂可以在这里粘贴一个关于我在PHP web服务器上的请求发生了什么的技术细节…

对我来说似乎是合乎逻辑的。你调用端点,它调用相同的端点,它调用端点等等,这与PHP web服务器处理并发请求的方式有关吗?如果我以Apache为例?
<?php
    Route::resource('user', 'UserController');
?>
<?php
    namspace App\Http\Controller;

    use Illuminate\Http\Request;
    use App\User;

    class UserController {
        public function index( Request $request ) {
            $users = User::all();

            if( $request->wantsJson() ) {
                return response()->json($users, 200);
            }
            else {
                return view('user.index')->with('users', $users);
            }
        }
    }
?>
<?php
    Route::group(['prefix' => 'v1'], function() {
        Route::resource('user', 'UserApiController');
    }); 
?>
<?php
    namespace App\Http\Controller;

    use Illuminate\Http\Request;
    use App\User;

    class UserApiController {
        public function index() {
            return response()->json(User::all(), 200);
        }
    }
?>
<?php
namespace App\Http\Controller;

use Illuminate\Http\Request;
use App\User;

class UserController {
    public function index() {
        return view('user.index')->with('users', User::all());
    }
}
<?php
    namespace App\Http\Controller;

    use Illuminate\Http\Request;
    use App\User;
    use GuzzleHttp\Client;

    class UserController {
        public function index() {
            $client = new Client;

            $response = $client->get(url('/api/v1/user'));

            return view('user.index')->with('users', User::all());
        }
    }
?>