PHP 7.4 یا اس سے نئے کے لیے، کمانڈ کے دلائل اور چائلڈ پروسیس کا ماحول الگ رکھیں:

$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 اور $descriptorSpec ایپلیکیشن کی موجودہ آؤٹ پٹ ہینڈلنگ سے آتے ہیں۔ ناکام لانچ کی جانچ کریں، پائپس کا انتظام کریں اور اسی زندگی کے چکر میں پروسیس بند کریں۔

array_replace(getenv(), ...) والدین کا ماحول محفوظ رکھتا ہے اور بچے کے لیے یہ دونوں اقدار بدلتا ہے۔ وراثت میں ملنے والے بڑے حروف والے پراکسی اور بائی پاس متغیرات کا جائزہ لیں جب وہ مطلوبہ راستہ بدل سکیں۔

دلائل کی صف شیل کو اسناد کے ایمپرسینڈ، ڈالر علامات یا خالی جگہوں کی تشریح کرنے سے روکتی ہے۔ شیل کمانڈ میں اکاؤنٹ رکھنے والی کوئی تفویض سرایت نہیں کی گئی۔

یہ مثال curl منتخب کرتی ہے کیونکہ یہ دکھائے گئے متغیرات کی حمایت کرتا ہے۔ HTTP پراکسی فہرست سے ایک پتہ عوامی HTTP راستے کے لیے وہ ماحولیاتی اقدار بھر سکتا ہے۔ مختلف ایگزیکیوٹیبل کو اپنا معاون پراکسی انٹرفیس درکار ہوتا ہے؛ PHP کے اپنے cURL اختیارات اس بیرونی پروگرام کو ترتیب نہیں دیتے۔

متعلقہ مضامین