
本地环境:
windows 7 php7.1 laravel5.6 guzzlehttp/guzzle ^6.3 web.php 里定义的路由如下:
Route::get('/', function () { return view('welcome'); }); Route::get('/test', 'DemoController@index')->name('demo'); 执行 php artisan serve, 访问路由http://localhost:8000/test, 对应的Controller如下:
namespace App\Http\Controllers; use Illuminate\Http\Request; class DemoController extends Controller { public function index() { $client = new \GuzzleHttp\Client(); $respOnse= $client->request('GET', 'http://localhost:8000/', [ 'timeout' => 30 ]); return $response->getStatusCode(); } } 这种情况一直都是处于加载,无法获得结果。如果换个地址,比如'http://www.163.com', 则正常返回.
1 xuyl OP php artisan serve 有个内置的 http 服务器,默认监听 8000 端口, 而在 laravel 代码里, guzzlehttp 无法把请求发送到 localhost 的 8000 端口? |
2 fuxkcsdn 2018-05-09 13:01:54 +08:00 via iPhone php 内置的 http server 是 block 的,一次只能处理一个请求 |
3 ucaime 2018-05-09 13:13:37 +08:00 via iPhone 如果我没有看错,你这是环路请求?不挂才怪 |
5 xuyl OP |
6 nuxt 2018-05-09 13:25:17 +08:00 死循环,看不出来吗? |
7 xhinliang 2018-05-09 22:07:46 +08:00 666666 这个死循环写的不错 |
8 shaojjjin 2018-05-09 22:24:29 +08:00 via iPhone 应该是 php 内置的服务器的问题,我也遇到过。后来用 nginx 部署了个本地站点解决。 |