Sama PHP-tiedosto voi käyttää välityspalvelinta päätteessä ja mennä suoraan, kun PHP-FPM tarjoilee sitä. Aloita vertaamalla prosesseja, jotka sitä ajavat. Päätteesi käynnistää PHP:n kuorensa ympäristöllä; verkkopalvelin lähettää pyynnön työntekijöille, jotka FPM on jo luonut.

Katso työntekijän ympäristöä

FPM:n pool-asetus tarjoaa clear_env-asetuksen ja eksplisiittiset env[NAME]-merkinnät. Kun ympäristön tyhjennys on käytössä, muuttujan vienti kirjautumiskuoressasi ei aseta sitä työntekijään. Pool-merkinnät voivat välittää valittuja muuttujia:

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

Ota asetusmuutokset käyttöön käyttöönottoosi tavanomaisella FPM-uudelleenlatauksella. Laita arvot pooliin, joka todella tarjoilee sovellusta. Toinen pool, palvelutili tai kontti voi selittää, miksi näennäisesti oikealla muokkauksella ei ole vaikutusta.

Kun vianmääritystä tehdään elävälle pyynnölle, tarkista vain, ovatko odotetut asetukset olemassa. Julkinen diagnostiikkasivu, joka tulostaa täydet ympäristöarvot, voi paljastaa välityspalvelimen tunnukset ja muita salaisuuksia.

Tarkista sitten PHP:n siirtokerros

libcurlilla on dokumentoitu välityspalvelinympäristön käsittely; eksplisiittisellä PHP cURL -kahvalla on myös omat asetuksensa. PHP:n HTTP-virtakääreellä on erillinen kontekstiasetus. Muuttujien antaminen työntekijälle ei saa jokaista PHP:n verkkorajapintaa käyttämään niitä.

Tämä antaa hyödyllisen kaksiosaisen tarkistuksen: vahvista, mitä työntekijä vastaanotti, ja vahvista sitten, miten valittu HTTP-asiakas lukee välityspalvelinasetukset. Jos CLI ja FPM saavat samat arvot mutta käyttäytyvät silti eri tavoin, vertaa seuraavaksi asiakkaan asetuksia ja ohitussääntöjä. Kuoren profiilin toistuva muokkaaminen ei voi ratkaista eroa työntekijän HTTP-asiakkaan sisällä.

Aiheeseen liittyvät artikkelit