Tlhaselo e ka khoneha ho litlhophiso tsa nginx moo ho fetisetsa ho PHP-FPM ho etsoang ka ho arola likarolo tsa URL ho sebelisa "fastcgi_split_path_info" le ho hlalosa phapang ea tikoloho ea PATH_INFO, empa ntle le ho qala ho hlahloba boteng ba faele ho sebelisa "try_files $fastcgi_script_name" taelo kapa "haeba (!-f $) document_root$fastcgi_script_name)". Bothata ke bona
sebaka ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^ (. +? \. php) (/.*) $;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
}
U ka latela tharollo ea bothata ka lisebelisoa tsa kabo maqepheng ana:
try_files $fastcgi_script_name =404;
Bothata bo bakoa ke phoso ha ho etsoa lisupa faeleng
Haeba fastcgi_split_path_info directive e hlalosa ho arola tsela ea script ho sebelisoa poleloana e tloaelehileng e sa utloahaleng (mohlala, mehlala e mengata e fana ka maikutlo a ho sebelisa "^(+?\.php)(/.*)$"), joale mohlaseli a ka etsa bonnete ba hore boleng bo se nang letho bo ngotsoe ho PATH_INFO e fapaneng ea tikoloho. Tabeng ena, ho feta ka ho phethahatsa
Ka ho kopa URL e hlophisitsoeng ka tsela e itseng, mohlaseli a ka finyella phetoho ea path_info pointer ho ea pele ea "_fcgi_data_seg" sebopeho, 'me ho ngola zero ho sena byte ho tla lebisa motsamaong oa "char* pos" pointer sebakeng sa memori se neng se le teng pele. E latelang e bitsoang FCGI_PUTENV e tla hlakola data e mohopolong ona ka boleng boo mohlaseli a ka bo laolang. Memori e boletsoeng e boetse e boloka boleng ba mefuta e meng ea FastCGI, 'me ka ho ngola lintlha tsa bona, mohlaseli a ka theha mofuta o iqapetsoeng oa PHP_VALUE mme a fihlela ts'ebetso ea khoutu ea bona.
Source: opennet.ru