Ny fanafihana dia azo atao amin'ny fanamafisana nginx izay anaovana ny fandefasana amin'ny PHP-FPM amin'ny fanasarahana ny ampahany amin'ny URL amin'ny fampiasana "fastcgi_split_path_info" ary mamaritra ny fari-piainan'ny tontolo PATH_INFO, fa tsy manamarina aloha ny fisian'ny rakitra mampiasa ny "try_files $fastcgi_script_name" torolΓ lana na ny "raha (!-f $) document_root$fastcgi_script_name)". Ny olana koa
toerana ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^ (. +? \. php) (/.*) $;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
}
Azonao atao ny manara-maso ny famahana ny olana amin'ny kitapo fanapariahana amin'ireto pejy ireto:
try_files $fastcgi_script_name =404;
Ny olana dia vokatry ny fahadisoana rehefa manodinkodina tondro ao anaty rakitra
Raha ny torolalana fastcgi_split_path_info dia mamaritra ny fisarahana ny lalan'ny script amin'ny alΓ lan'ny fitenenana tsy tapaka vaovao (ohatra, ohatra maro no manoro hevitra amin'ny fampiasana "^(.+?\.php)(/.*)$"), dia afaka miantoka ny mpanafika iray Ny sanda poakaty dia voasoratra ao amin'ny fari-piainan'ny tontolo PATH_INFO. Amin'ity tranga ity, manaraka ny famonoana
Amin'ny fangatahana URL voalamina amin'ny fomba iray, ny mpanafika dia afaka manova ny tondro path_info mankany amin'ny byte voalohany amin'ny rafitra "_fcgi_data_seg", ary ny fanoratana aotra amin'ity byte ity dia hitarika amin'ny hetsika "char* pos" fanondro any amin'ny faritra fitadidiana efa nisy teo aloha. Ny manaraka antsoina hoe FCGI_PUTENV dia hanodina ny angona ao amin'io fitadidiana io miaraka amin'ny sanda azon'ny mpanafika fehezina. Ny fitadidiana voatondro ihany koa dia mitahiry ny soatoavin'ny fari-piainan'ny FastCGI hafa, ary amin'ny fanoratana ny angon-dry zareo, ny mpanafika iray dia afaka mamorona PHP_VALUE novaina foronina ary mahatratra ny fanatanterahana ny kaody.
Source: opennet.ru