Ինչու PHP-FPM-ը կորցնում է ձեր տերմինալում աշխատող պրոքսին
Հետևեք պրոքսի կարգավորմանը PHP-FPM աշխատողներում և տարբերեք նրանց միջավայրը PHP հոսքի կոնտեքստներից։
Նույն PHP ֆայլը կարող է պրոքսի օգտագործել տերմինալում և ուղիղ գնալ, երբ այն սպասարկում է PHP-FPM-ը։ Սկսեք համեմատելով այն գործընթացները, որոնք գործարկում են այն։ Ձեր տերմինալը գործարկում է PHP-ն իր shell միջավայրով؛ վեբ սերվերը հարցում է ուղարկում աշխատողներին, որոնք FPM-ը արդեն ստեղծել է։
Նայեք աշխատողի միջավայրին
FPM լողավազանի կարգավորումը տրամադրում է clear_env և բացահայտ env[NAME] գրառումներ։ Երբ միջավայրի մաքրումը միացված է, ձեր մուտքի shell-ում փոփոխական արտահանելը այն չի տեղադրում աշխատողի մեջ։ Լողավազանի գրառումները կարող են փոխանցել ընտրված փոփոխականներ:
env[http_proxy] = http://203.0.113.10:8080
env[https_proxy] = http://203.0.113.10:8080
Կիրառեք կարգավորման փոփոխությունները ձեր տեղակայման սովորական FPM վերաբեռնման ընթացակարգով։ Տեղադրեք արժեքները այն լողավազանում, որն իսկապես սպասարկում է հավելվածը։ Այլ լողավազանը, սպասարկման հաշիվը կամ կոնտեյները կարող են բացատրել, թե ինչու թվացյալ ճիշտ խմբագրումը ազդեցություն չունի։
Կենդանի հարցումը վրիպազերծելիս ստուգեք միայն, թե արդյոք սպասվող կարգավորումները գոյություն ունեն։ Հանրային ախտորոշիչ էջը, որը տպում է միջավայրի ամբողջական արժեքները, կարող է բացահայտել պրոքսիի հավատարմագրերը և անկապ գաղտնիքներ։
Այնուհետև ստուգեք PHP տրանսպորտը
libcurl-ն ունի փաստաթղթավորված պրոքսի միջավայրի կառավարում؛ բացահայտ PHP cURL բռնակը նույնպես ունի իր ընտրանքները։ PHP-ի HTTP հոսքի փաթաթիչն ունի առանձին կոնտեքստի կարգավորում։ Աշխատողին փոփոխականներ տալը չի ստիպում PHP-ի յուրաքանչյուր ցանցային API-ի օգտագործել դրանք։
Սա տալիս է օգտակար երկմաս ստուգում. հաստատեք, թե ինչ է ստացել աշխատողը, ապա հաստատեք, թե ինչպես է ընտրված HTTP հաճախորդը կարդում պրոքսիի կարգավորումները։ Եթե CLI-ն և FPM-ը ստանում են նույն արժեքները, բայց դեռ տարբեր կերպ են վարվում, հաջորդիվ համեմատեք հաճախորդի ընտրանքները և շրջանցման կանոնները։ Shell պրոֆիլի կրկնվող խմբագրումը չի կարող լուծել աշխատողի HTTP հաճախորդի ներսում եղած տարբերությունը։