$request_filename
é apenas uma maneira mais agradável de escrevê-lo.
This variable is equal to path to the file for the current request, formed from directives root or alias and URI request;
Em Exemplo do PHP FastCGI & Armadilhas e erros comuns diz-se que deveria ser:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
Mas no meu Ubuntu (/ etc / nginx / fastcgi_params), a configuração é:
fastcgi_param SCRIPT_FILENAME $request_filename;
Estou usando a configuração do Ubuntu e não tive nenhum problema. Quais são as armadilhas?
$request_filename
é apenas uma maneira mais agradável de escrevê-lo.
This variable is equal to path to the file for the current request, formed from directives root or alias and URI request;
Basicamente, você não está recebendo nenhum erro quando se trata de SCRIPT_FILENAME
, porque ele já está definido quando você definiu sua diretiva raiz em seu arquivo vhost. Portanto, a menos que você o tenha definido explicitamente em seu arquivo vhost usando fastcgi_param
, o valor de SCRIPT_FILENAME
seria retirado da diretiva raiz. Mas UM PONTO IMPORTANTE AQUI. Existe outra variável que o nginx precisa para enviar os pedidos para o servidor php que é $fastcgi_script_name
e você tem que defini-lo bem para evitar URLs repetitivos e erros com uri's que terminam com barra.
Conclusão :
Para que tudo funcione muito bem, todos devem definir SCRIPT_FILENAME
explicitamente no arquivo 'fastcgi_params' localizado na pasta / etc / nginx ou facilmente no vhost do seu site localizado na pasta sites-available, incluindo a seguinte linha o bloco de localização do php:
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
ou incluído no arquivo 'fastcgi_params' como você escreveu acima, de qualquer forma é o mesmo ..
Mas no final TENHA CUIDADO, as configurações são diferentes para cada CMS . Então, procure no nginx a melhor configuração para sua situação atual.
Espero que isso ajude alguém no futuro, pois levei muito tempo para descobrir isso.