ហេតុអ្វី PHP-FPM បាត់បង់ proxy ដែលដំណើរការនៅក្នុង terminal របស់អ្នក
តាមដានការកំណត់ proxy ចូលទៅក្នុង worker របស់ PHP-FPM ហើយបែងចែកបរិស្ថានរបស់ពួកវាពីបរិបទ stream របស់ PHP។
ឯកសារ PHP ដូចគ្នាអាចប្រើ proxy នៅក្នុង terminal ហើយភ្ជាប់ដោយផ្ទាល់នៅពេល PHP-FPM បម្រើវា។ ចាប់ផ្តើមដោយប្រៀបធៀបដំណើរការដែលរត់វា។ terminal របស់អ្នកបើក PHP ជាមួយបរិស្ថាន shell របស់វា; ម៉ាស៊ីនមេវេបបញ្ជូនសំណើទៅ worker ដែល FPM បានបង្កើតរួចហើយ។
មើលបរិស្ថានរបស់ worker
ការកំណត់ pool របស់ FPM ផ្តល់ clear_env និងធាតុ env[NAME] ច្បាស់លាស់។ នៅពេលការសម្អាតបរិស្ថានត្រូវបានបើក ការនាំចេញអថេរនៅក្នុង shell ចូលរបស់អ្នកមិនដាក់វានៅក្នុង worker ទេ។ ធាតុ pool អាចផ្ទេរអថេរដែលបានជ្រើសរើស:
env[http_proxy] = http://203.0.113.10:8080
env[https_proxy] = http://203.0.113.10:8080
អនុវត្តការផ្លាស់ប្តូរការកំណត់តាមនីតិវិធីផ្ទុកឡើងវិញ FPM ធម្មតានៃការដាក់ពង្រាយរបស់អ្នក។ ដាក់តម្លៃនៅក្នុង pool ដែលពិតជាបម្រើកម្មវិធី។ pool គណនីសេវា ឬ container ផ្សេងអាចពន្យល់ពីមូលហេតុដែលការកែសម្រួលដែលមើលទៅត្រឹមត្រូវមិនមានប្រសិទ្ធភាព។
នៅពេលដោះកំហុសសំណើផ្ទាល់ សូមពិនិត្យតែថាតើការកំណត់ដែលរំពឹងទុកមានឬអត់។ ទំព័រវិភាគសាធារណៈដែលបោះពុម្ពតម្លៃបរិស្ថានពេញលេញអាចបង្ហាញព័ត៌មានសម្ងាត់ proxy រួមជាមួយអាថ៌កំបាំងដែលមិនពាក់ព័ន្ធ។
បន្ទាប់មកពិនិត្យការដឹកជញ្ជូន PHP
libcurl មានការគ្រប់គ្រងបរិស្ថាន proxy ដែលបានចងក្រងជាឯកសារ; handle cURL PHP ច្បាស់លាស់ ក៏មានជម្រើសផ្ទាល់ខ្លួនដែរ។ wrapper stream HTTP របស់ PHP មាន ការកំណត់បរិបទដាច់ដោយឡែក។ ការផ្តល់អថេរដល់ worker មិនធ្វើឱ្យ API បណ្តាញ PHP ទាំងអស់ប្រើវាទេ។
នោះផ្តល់ការពិនិត្យពីរផ្នែកដែលមានប្រយោជន៍: បញ្ជាក់អ្វីដែល worker បានទទួល បន្ទាប់មកបញ្ជាក់ពីរបៀបដែល client HTTP ដែលបានជ្រើសរើសអានការកំណត់ proxy។ ប្រសិនបើ CLI និង FPM ទទួលបានតម្លៃដូចគ្នា ប៉ុន្តែនៅតែមានឥរិយាបថខុសគ្នា សូមប្រៀបធៀបជម្រើស client និងច្បាប់រំលងបន្ទាប់។ ការកែសម្រួល profile shell ម្តងហើយម្តងទៀតមិនអាចដោះស្រាយភាពខុសគ្នានៅក្នុង client HTTP របស់ worker បានទេ។