Herkese merhaba!

Uzun yıllardır bol miktarda kişisel zaman ve enerji harcayarak bilgimizi hepinizle paylaşıyoruz. Ancak şu andan itibaren bu blogu çalışır durumda tutabilmek için yardımınıza ihtiyacımız var. Yapmanız gereken tek şey, sitedeki reklamlardan birine tıklamak olacaktır, aksi takdirde hosting vb. masraflar nedeniyle maalesef yayından kaldırılacaktır. Teşekkürler.

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.


Nginx config


server {
...

location ~ ^/index\.php(/|$) {
...
fastcgi_param HTTP_X_REQUEST_ID $request_id;

internal;
}

...
}

Symfony


config/services.yaml


parameters:
env(HTTP_X_REQUEST_ID): ~

services:
App\Controller\DockerController:
tags: ['controller.service_arguments']
arguments:
$xRequestId: '%env(string:HTTP_X_REQUEST_ID)%'

DockerController


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);
}
}

Sonuç


Array
(
...
[HTTP_X_REQUEST_ID] => c4c46e8c2d323d829dcb2ed1c5a3c48d
...
)

Array
(
...
[x-request-id] => Array
(
[0] => c4c46e8c2d323d829dcb2ed1c5a3c48d
)
...
)

X-Request-Id: c4c46e8c2d323d829dcb2ed1c5a3c48d