Página de status do PHP-FPM - solicite sempre o URI /index.php

1

Estou usando o nginx com PHP-FPM

Meu aplicativo requer que todos os URLs sejam redirecionados para index.php (consulte nginx conf)

location / {
    root /var/www/app/public/
    try_files $uri /index.php?$args;
}


location ~ \.php$ {         
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    try_files $fastcgi_script_name =404;

    set $path_info $fastcgi_path_info;
    fastcgi_param PATH_INFO $path_info;

    fastcgi_index index.php;

    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

Para analisar alguns problemas de desempenho, eu queria usar a página de status do fpm. Mas a página de status não me mostra o URI da solicitação real

pid:                  1369
state:                Idle
start time:           03/Sep/2018:17:34:34 +0200
start since:          15
requests:             4
request duration:     29796
request method:       GET
request URI:          /index.php
content length:       0
user:                 -
script:               /var/www/app/public/index.php
last request cpu:     67.12
last request memory:  6291456

Portanto, é difícil dizer qual página está processada no momento - talvez seja possível adicionar algumas informações adicionais à página de status do fpm ou alterar o URI de solicitação?

    
por RCX 03.09.2018 / 18:01

1 resposta

0

Você precisa adicionar um bloqueio ao seu bloco com um fastcgi_index set:

location ~ ^/_status$ {     
    include fastcgi_params
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_index index.php;
    fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;

    # the following is optional but nice to have
    # it will restrict access to the local monitoring system
    access_log off;
    allow 127.0.0.1;
    allow ::1;
    deny all;

}
    
por 14.10.2018 / 13:02

Tags