Mwakpo a ga-ekwe omume na nhazi nginx nke a na-ebuga na PHP-FPM site na ikewa akụkụ nke URL site na iji "fastcgi_split_path_info" na ịkọwa ọnọdụ PATH_INFO, mana na-ebughị ụzọ nyochaa ịdị adị nke faịlụ ahụ site na iji "try_files $ fastcgi_script_name" ntuziaka ma ọ bụ "ọ bụrụ (!-f $) document_root$ fastcgi_script_name)". Nsogbu dịkwa
ọnọdụ ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param PATH_INFO $ fastcgi_path_info;
fastcgi_pass php:9000;
}
Ị nwere ike soro mkpebi nsogbu ahụ na ngwa nkesa na ibe ndị a:
try_files $ fastcgi_script_name = 404;
Nsogbu na-ebute site na mperi mgbe ị na-emegharị ntụnye na faịlụ
Ọ bụrụ na ntuziaka fastcgi_split_path_info na-akọwapụta ikewa ụzọ edemede site na iji okwu ọhụụ na-enwe mmetụta mgbe niile (dịka ọmụmaatụ, ọtụtụ ihe atụ na-atụ aro iji "^(.+?\.php)(/.*)$"), mgbe ahụ onye na-awakpo nwere ike hụ na otu Edere uru efu na mgbanwe gburugburu PATH_INFO. Na nke a, n'ihu tinyere ogbugbu
Site na ịrịọ URL ahaziri n'ụzọ ụfọdụ, onye na-awakpo nwere ike nweta ngbanwe nke ụzọ_info pointer gaa na baiti mbụ nke usoro “_fcgi_data_seg", na ide ihe efu na byte a ga-eduga na mmegharị nke "char * pos" ntụnye aka na mpaghara ebe nchekwa dị na mbụ. Nke a na-akpọ FCGI_PUTENV ga-eji uru onye mwakpo ahụ nwere ike jikwaa degharịa data na ebe nchekwa a. Ebe nchekwa a kapịrị ọnụ na-echekwa ụkpụrụ nke mgbanwe FastCGI ndị ọzọ, na site n'ịde data ha, onye na-awakpo nwere ike ịmepụta mgbanwe PHP_VALUE efu wee mezuo koodu ha.
isi: opennet.ru