PHP শিশু কামাণ্ডলৈ প্ৰক্সি পৰিৱেশ প্ৰেৰণ কৰক
এটা ডাউনলোডাৰৰ বাবে proc_open ৰ পৃথক পৰিৱেশ আৰু আৰ্গুমেণ্ট এৰে ব্যৱহাৰ কৰক, উত্তৰাধিকাৰী মানসমূহ ইচ্ছাকৃতভাৱে ৰক্ষা কৰি।
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 অপচনসমূহে সেই বাহ্যিক প্ৰগ্ৰাম কনফিগাৰ নকৰে।