Tas pats PHP failas terminale gali naudoti tarpinį serverį, o PHP-FPM aplinkoje jungtis tiesiogiai. Pradėkite nuo procesų, kurie jį vykdo, palyginimo. Terminalas paleidžia PHP su savo apvalkalo aplinka; žiniatinklio serveris siunčia užklausą darbininkams, kuriuos FPM jau sukūrė.

Pažiūrėkite į darbininko aplinką

FPM baseino konfigūracija suteikia clear_env ir aiškius env[NAME] įrašus. Įjungus aplinkos valymą, kintamojo eksportavimas prisijungimo apvalkale jo neįdeda į darbininką. Baseino įrašai gali perduoti pasirinktus kintamuosius:

env[http_proxy] = http://203.0.113.10:8080
env[https_proxy] = http://203.0.113.10:8080

Konfigūracijos pakeitimus taikykite įprasta diegimo FPM perkrovimo procedūra. Reikšmes įdėkite į baseiną, kuris iš tikrųjų aptarnauja programą. Kitas baseinas, paslaugos paskyra ar konteineris gali paaiškinti, kodėl iš pažiūros teisinga pataisa neturi poveikio.

Derindami gyvą užklausą tikrinkite tik tai, ar yra laukiami nustatymai. Viešas diagnostikos puslapis, spausdinantis visas aplinkos reikšmes, gali atskleisti tarpinio serverio prisijungimo duomenis kartu su nesusijusiomis paslaptimis.

Tada patikrinkite PHP transportą

libcurl turi dokumentuotą tarpinio serverio aplinkos apdorojimą; aiški PHP cURL rankenėlė taip pat turi savo parinktis. PHP HTTP srauto apvalkalas turi atskirą konteksto konfigūraciją. Kintamųjų perdavimas darbininkui nepriverčia kiekvienos PHP tinklo API jų naudoti.

Tai duoda naudingą dviejų dalių patikrą: patvirtinkite, ką darbininkas gavo, tada patvirtinkite, kaip pasirinktas HTTP klientas nuskaito tarpinio serverio nustatymus. Jei CLI ir FPM gauna tas pačias reikšmes, bet vis tiek elgiasi skirtingai, toliau palyginkite kliento parinktis ir apėjimo taisykles. Pakartotinis apvalkalo profilio redagavimas neišspręs skirtumo darbininko HTTP kliento viduje.

Susiję straipsniai