Weerarku wuxuu suurtogal u yahay qaabeynta nginx kaas oo u gudbinta PHP-FPM lagu fuliyo iyada oo la kala saarayo qaybo ka mid ah URL-ka iyadoo la adeegsanayo "fastcgi_split_path_info" iyo qeexida doorsoomiyaha deegaanka PATH_INFO, laakiin iyada oo aan marka hore la hubin jiritaanka faylka iyadoo la adeegsanayo "try_files $ fastcgi_script_name" dardaaranka ama "haddii (!-f $) document_root$ fastcgi_script_name)". Dhibaatadu sidoo kale waa
goobta ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^ (. +? \. php) (/.*) $;
fastcgi_param PATH_INFO $ fastcgi_path_info;
fastcgi_pass php: 9000;
}
Waxaad kala socon kartaa xallinta dhibaatada xirmooyinka qaybinta bogaggan:
try_files $ fastcgi_script_name = 404;
Dhibka waxaa keenay qalad marka la maamulayo tilmaamayaasha faylka
Haddii dardaaranka fastcgi_split_path_info uu qeexayo kala qaybinta dariiqa qoraalka iyadoo la adeegsanayo odhaah joogto ah oo xasaasi ah oo khad cusub ah (tusaale ahaan, tusaalooyin badan ayaa soo jeedinaya adeegsiga "^(.+?\.php)(/.*)$"), markaas weeraryahanku wuxuu xaqiijin karaa in qiimaha madhan ayaa loo qoraa PATH_INFO doorsoomaha deegaanka. Xaaladdan oo kale, dheeraad ah oo ay weheliyaan fulinta
Codsashada URL si gaar ah loo qaabeeyey, weeraryahanku waxa uu ku guulaysan karaa beddelka tilmaame_path_info oo loo beddelo byte-ka ugu horreeya ee qaab-dhismeedka "_fcgi_data_seg", iyo in eber loo qoro byte-kan waxay horseedi doontaa dhaqdhaqaaqa "char* pos" tilmaame aag xusuusta oo hore u yaalay. Midka soo socda ee loo yaqaan FCGI_PUTENV ayaa ku beddeli doona xogta ku jirta xusuustan qiime uu koontarooli karo qofka weerarka geystay. Xusuusta la cayimay waxay sidoo kale kaydisaa qiyamka doorsoomayaasha kale ee FastCGI, iyo qorista xogtooda, weeraryahanku wuxuu abuuri karaa doorsoome PHP_VALUE khiyaali ah wuxuuna ku guuleysan karaa fulinta koodka.
Source: opennet.ru