05/03/2019 - DOCKER, SYMFONY, NGINX
Aşağıdaki basit örneği kullanarak, Symfony uygulamalarında erişmek için her isteme benzersiz bir HTTP X-Request-Id ekleyebilirsiniz. Nginx ve PHP-FPM üzerine kurulu bir Symfony uygulamanızın olduğunu varsayıyorum.
server {
...
location ~ ^/index\.php(/|$) {
...
fastcgi_param HTTP_X_REQUEST_ID $request_id;
internal;
}
...
}
parameters:
env(HTTP_X_REQUEST_ID): ~
services:
App\Controller\DockerController:
tags: ['controller.service_arguments']
arguments:
$xRequestId: '%env(string:HTTP_X_REQUEST_ID)%'
class DockerController
{
private $xRequestId;
public function __construct(?string $xRequestId)
{
$this->xRequestId = $xRequestId;
}
public function index(Request $request): Response
{
print_r($_SERVER);
print_r($request->headers->all());
return new Response('X-Request-Id: '.$this->xRequestId);
}
}
Array
(
...
[HTTP_X_REQUEST_ID] => c4c46e8c2d323d829dcb2ed1c5a3c48d
...
)
Array
(
...
[x-request-id] => Array
(
[0] => c4c46e8c2d323d829dcb2ed1c5a3c48d
)
...
)
X-Request-Id: c4c46e8c2d323d829dcb2ed1c5a3c48d