Fún PHP 7.4 tàbí tó tuntun, jẹ́ kí àwọn àríyànjiyàn àṣẹ àti àyíká ìlànà ọmọ yàtọ̀:

$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 àti $descriptorSpec wá láti inú ìtọ́jú èsì tí ó wà tẹ́lẹ̀ ti ohun-èlò náà. Ṣàyẹ̀wò ìfilọ́lẹ̀ tí ó kùnà, ṣàkóso àwọn pọ́ìpù kí o sì ti ìlànà náà parí nípasẹ̀ ìgbèé-ayé yẹn.

array_replace(getenv(), ...) ó ń pa àyíká obí mọ́ bí ó ṣe ń rọ́pò àwọn iye méjì wọ̀nyí fún ọmọ. Ṣàgbéwò àwọn àfiwé pọ́rósì àti àwọn àfiwé ìforígbárí tí a jogún ní lẹ́tà ńlá nígbà tí wọ́n bá lè yí ọ̀nà tí a ní lọ́kàn padà.

Àkójọ àríyànjiyàn ń dá shell dúró láti túmọ̀ àwọn àmì ampersand, àmì dọ́là tàbí àwọn àlàfo inú ẹ̀rí ìdánimọ̀. Kò sí ìpín tí ó gbé àkọsílẹ̀ tí a fi sínú àṣẹ shell.

Àpẹẹrẹ yìí yan curl nítorí pé ó ṣe àtìlẹ́yìn àwọn àfiwé tí a fi hàn. Àdírẹ́sì kan láti àkójọ pọ́rósì HTTP lè kún àwọn iye àyíká yẹn fún ipa-ọ̀nà HTTP gbogbogbò. Ohun èlò mìíràn nílò ìfarapọ́ pọ́rósì tí ó ṣe àtìlẹ́yìn fúnrarẹ̀; àwọn àṣàyàn cURL ti PHP fúnra rẹ̀ kò ṣètò ètò ìta yẹn.

Àwọn àpilẹ̀kọ tó jọra