Php 从同一服务器调用路由会导致无限循环
启动前 我以Laravel为例,但实际上我用手工制作的MVC做了一个小项目,问题仍然存在,所以这与框架无关 上下文 我使用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数据,解析它(
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());
}
}
?>