PHP 7.4 ama ka dambe, kala saar doodaha amarka iyo deegaanka habka ilma:

$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 iyo $descriptorSpec waxay ka yimaadaan maareynta soo-saarka ee jira ee barnaamijka. Hubi guuldarrada bilaabista, maamul tuubooyinka oo xir habka iyada oo loo marayo wareegga noloshaas.

array_replace(getenv(), ...) waxay ilaalisaa deegaanka waalidka iyadoo beddelaysa labadan qiime ilma. Dib u eeg doorsoomayaasha proxy iyo dhaafka ee la dhaxlay ee xarfaha waaweyn marka ay beddeli karaan dariiqa loogu talagalay.

Taxanaha dooduhu wuxuu ka hortagaa shell inuu fasiraan ampersands, calaamadaha dollarka ama boosaska aqoonsiga. Ma jiro wax u qoondeyn ah oo xambaarsan akoon oo lagu daray amarka shell.

Tusaalahan wuxuu doortaa curl sababtoo ah waxay taageertaa doorsoomayaasha la muujiyay. Cinwaan ka yimid liiska proxy HTTP ayaa buuxin kara qiyamkaas deegaanka ee dariiqa HTTP ee dadweynaha. Faylka fulinta ee kale wuxuu u baahan yahay is-dhexgalka proxy ee u gaar ah ee la taageeray; xulashooyinka cURL ee PHP laftiisa ma habeynayaan barnaamijkaas dibadda.

Maqaallo la xiriira