Ber eitt proxy-umhvørvi til eina PHP-undirskipan
Nýt tað serstaka umhvørvið og argumentbunta proc_open fyri ein niðurhalara, og varðveit arvaðu virðini við vilja.
Fyri PHP 7.4 ella nýggjari, hald skipanarargumentini og umhvørvið hjá undirprosessinum hvørt sær:
$environment = array_replace(getenv(), [
'http_proxy' => 'http://proxy.example:8080',
'https_proxy' => 'http://proxy.example:8080',
]);
$process = proc_open(
['/usr/bin/curl', '--fail', '--max-time', '30',
'--output', $outputFile, 'https://downloads.example/data.csv'],
$descriptorSpec,
$pipes,
null,
$environment
);$outputFile og $descriptorSpec koma frá verandi úttaksviðgerð í applikatiónini. Kannað eftir miseydnaðum byrjan, stýr rørunum og lat prosessin aftur gjøgnum tað lívsskeiðið.
array_replace(getenv(), ...) varðveitir foreldraumhvørvið meðan tað skiftir hesi tvey virðini út fyri undirprosessin. Far gjøgnum arvaðu stóru bókstavirnar proxy- og umfaringsvariablar, tá teir kunnu broyta ætlaðu leiðina.
Argumentbuntin forðar eini skel fyri at tulka ampersand-tekn, dollartekn ella millumrúm í innritanarupplýsingum. Tað er ongin kontobardur tillutan innbygd í eina skelskipan.
Hetta dømið velur curl, tí tað stuðlar teimum vístu variablunum. Ein adressa úr HTTP-proxylistanum kann fylla hesi umhvørvisvirðini fyri eina almenna HTTP-leið. Ein ønnur koyrandi filkja tørvar sítt egna stuðlaða proxy-interface; cURL-valmøguleikarnir í PHP sjálvum stilla ikki tað uttanhýsis forritið.