Solución:
El problema es cuando se usa php artisan serve
, utiliza un servidor PHP que es de un solo subproceso.
El servidor web ejecuta solo un proceso de un solo subproceso, por lo que las aplicaciones PHP se detendrán si se bloquea una solicitud.
Puedes hacer esta solución:
Al realizar llamadas a sí mismo, el hilo se bloqueó esperando su propia respuesta. La solución es separar la aplicación proveedora y la aplicación consumidora en su propia instancia o ejecutarla en un servidor web multiproceso como Apache o nginx.
O si está buscando una solución rápida para probar sus actualizaciones, puede hacerlo abriendo dos indicaciones de comando. El primero estaría corriendo php artisan serve
(localmente mi puerto predeterminado es 8000 y estarías ejecutando tu sitio en http://localhost:8000
). El segundo correría php artisan serve --port 8001
.
Luego, actualizaría su solicitud de publicación a:
$request = $httpClient->request('GET', 'http://localhost:8001/BlogApiV1/BlogApi/blogs/', $headers);
Esto debería ayudar durante su prueba hasta que pueda todo en el servidor o en un host virtual local.
Finalmente lo resolvió. Guzzle (o CURL para ser específicos) está negando las solicitudes si está ejecutando desde puertos no estándar.
Además, esto parece ser aleatorio, a veces funciona, a veces no. Me mudé al puerto 80 y listo, todo funcionó.
Yo estaba teniendo el mismo problema. Lo supe definiendo base_uri
como a continuación.
$client = new GuzzleHttpClient([
'base_uri' => 'http://localhost:8000',
'defaults' => [
'exceptions' => false
]
]);
$response = $client->get('/api/user/1');