Tha an ionnsaigh comasach ann an rèiteachaidhean nginx anns a bheilear a’ cur air adhart gu PHP-FPM le bhith a’ sgaradh phàirtean den URL a’ cleachdadh “fastcgi_split_path_info” agus a’ mìneachadh caochladair àrainneachd PATH_INFO, ach gun a bhith a’ sgrùdadh an-toiseach gu bheil am faidhle ann a’ cleachdadh na “try_files $ fastcgi_script_name” stiùireadh no an “ma tha (! -f $) document_root$ fastcgi_script_name)”. Tha an duilgheadas cuideachd
àite ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^ (. +? \. php) (/.*) $;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php:9000;
}
'S urrainn dhut lorg fhaighinn air fuasgladh na trioblaid ann an goireasan cuairteachaidh air na duilleagan seo:
try_files $ fastcgi_script_name = 404;
Tha an duilgheadas air adhbhrachadh le mearachd nuair a thathar a’ làimhseachadh chomharran ann am faidhle
Ma tha an stiùireadh fastcgi_split_path_info a’ sònrachadh sgoltadh slighe an sgriobt a’ cleachdadh abairt cunbhalach a tha mothachail air loidhne ùr (mar eisimpleir, tha mòran eisimpleirean a’ moladh a bhith a’ cleachdadh “^(.+?\.php)(/.*)$”), dh’ fhaodadh neach-ionnsaigh dèanamh cinnteach gu bheil tha luach falamh air a sgrìobhadh gu caochladair àrainneachd PATH_INFO. Anns a 'chùis seo, nas fhaide air adhart gu bàs
Le bhith ag iarraidh URL air a chruth ann an dòigh shònraichte, faodaidh neach-ionnsaigh gluasad a dhèanamh air a’ phuing path_info chun a’ chiad byte den structar “_fcgi_data_seg”, agus le bhith a’ sgrìobhadh neoni don byte seo leanaidh sin gu gluasad an “char * pos” comharraiche gu àite cuimhne a chaidh a shuidheachadh roimhe. Bidh an ath rud ris an canar FCGI_PUTENV a’ sgrìobhadh thairis air an dàta sa chuimhne seo le luach as urrainn don neach-ionnsaigh smachd a chumail air. Bidh an cuimhne ainmichte cuideachd a’ stòradh luachan caochladairean FastCGI eile, agus le bhith a’ sgrìobhadh an dàta aca, faodaidh neach-ionnsaigh caochladair PHP_VALUE meallta a chruthachadh agus an còd aca a choileanadh.
Source: fosgailtenet.ru