Uhlaselo lunokwenzeka kuqwalaselo lwe-nginx apho ugqithiso lwe-PHP-FPM lwenziwa ngokwahlula iinxalenye ze-URL usebenzisa “fastcgi_split_path_info” kunye nokuchaza i-PATH_INFO imo eguquguqukayo, kodwa ngaphandle kokujonga kuqala ubukho befayile usebenzisa “try_files $fastcgi_script_name” umyalelo okanye "ukuba (!-f $) document_root$fastcgi_script_name)". Ingxaki nayo
indawo ~ [^/]\.php(/|$) {
Ukukhawulezisa i-fastcgi_split_path_info ^ (. +? \. php) (/.*) $;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
}
Ungakwazi ukulandelela isisombululo sengxaki kwiikhithi zokusasaza kula maphepha:
try_files $fastcgi_script_name =404;
Ingxaki ibangelwa yimpazamo xa kusenziwa izikhombisi kwifayile
Ukuba i-fastcgi_split_path_info isiyalelo sichaza ukwahlula umendo wescript usebenzisa umgca omtsha-uvakalelo lwentetho eqhelekileyo (umzekelo, imizekelo emininzi icebisa ukuba kusetyenziswe "^(+?\.php)(/.*)$"), ngoko umhlaseli unokuqinisekisa ukuba i ixabiso elingenanto libhalwe PATH_INFO umahluko wemeko-bume. Kule meko, ngakumbi kunye nokuphunyezwa
Ngokucela i-URL efomathiweyo ngendlela ethile, umhlaseli unokufezekisa utshintsho lwe-path_info pointer ukuya kwi-byte yokuqala yesakhiwo "_fcgi_data_seg", kwaye ukubhala i-zero kule byte kuya kukhokelela ekuhambeni kwe "char * pos" isalathisi kwindawo yenkumbulo ebekwe ngaphambili. Okulandelayo okubizwa ngokuba yiFCGI_PUTENV kuya kubhala ngaphezulu idatha kule nkumbulo ngexabiso umhlaseli anokulawula. Imemori ekhankanyiweyo ikwagcina amaxabiso ezinye izinto eziguquguqukayo ze-FastCGI, kwaye ngokubhala idatha yazo, umhlaseli unokudala i-PHP_VALUE eguquguqukayo kwaye afezekise ukwenziwa kwekhowudi yabo.
umthombo: opennet.ru