ଆପଣଙ୍କ ଟର୍ମିନାଲରେ କାମ କରୁଥିବା ପ୍ରକ୍ସି PHP-FPM କାହିଁକି ହରାଏ
ପ୍ରକ୍ସି ବିନ୍ୟାସକୁ PHP-FPM ୱାର୍କର ପର୍ଯ୍ୟନ୍ତ ଅନୁସରଣ କରନ୍ତୁ ଏବଂ ସେମାନଙ୍କ ପରିବେଶକୁ PHP stream ପ୍ରସଙ୍ଗରୁ ଅଲଗା କରନ୍ତୁ।
ସେହି PHP ଫାଇଲ୍ ଟର୍ମିନାଲରେ ପ୍ରକ୍ସି ବ୍ୟବହାର କରିପାରେ ଏବଂ PHP-FPM ଦ୍ୱାରା ସେବା କରାଯିବା ସମୟରେ ସିଧାସଳଖ ଯାଇପାରେ। ଏହାକୁ ଚଲାଉଥିବା ପ୍ରକ୍ରିୟାଗୁଡ଼ିକୁ ତୁଳନା କରି ଆରମ୍ଭ କରନ୍ତୁ। ଆପଣଙ୍କ ଟର୍ମିନାଲ PHP କୁ shell ପରିବେଶ ସହିତ ଆରମ୍ଭ କରେ; ୱେବ୍ ସର୍ଭର FPM ପୂର୍ବରୁ ସୃଷ୍ଟି କରିଥିବା ୱାର୍କରମାନଙ୍କୁ ଏକ ଅନୁରୋଧ ପଠାଏ।
ୱାର୍କରର ପରିବେଶ ଦେଖନ୍ତୁ
FPM ପୁଲ୍ ବିନ୍ୟାସ clear_env ଏବଂ ସ୍ପଷ୍ଟ env[NAME] ପ୍ରବେଶ ପ୍ରଦାନ କରେ। ପରିବେଶ ସଫାଇ ସକ୍ରିୟ ଥିବାବେଳେ, ଲଗଇନ୍ shell ରେ ଏକ ଭେରିଏବଲ୍ ଏକ୍ସପୋର୍ଟ କରିବା ଏହାକୁ ୱାର୍କରରେ ରଖେ ନାହିଁ। ପୁଲ୍ ପ୍ରବେଶଗୁଡ଼ିକ ଚୟନିତ ଭେରିଏବଲ୍ ପଠାଇପାରେ:
env[http_proxy] = http://203.0.113.10:8080
env[https_proxy] = http://203.0.113.10:8080
ବିନ୍ୟାସ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ଆପଣଙ୍କ ଡିପ୍ଲୋୟମେଣ୍ଟର ସାଧାରଣ FPM ରିଲୋଡ୍ ପ୍ରକ୍ରିୟା ମାଧ୍ୟମରେ ଲାଗୁ କରନ୍ତୁ। ମୂଲ୍ୟଗୁଡ଼ିକୁ ସେହି ପୁଲରେ ରଖନ୍ତୁ ଯାହା ପ୍ରକୃତରେ ଆପ୍ଲିକେସନକୁ ସେବା କରେ। ଅନ୍ୟ ପୁଲ୍, ସେବା ଖାତା କିମ୍ବା କଣ୍ଟେନର ବ୍ୟାଖ୍ୟା କରିପାରେ ଯେ ଦେଖିବାକୁ ସଠିକ୍ ସମ୍ପାଦନାର ପ୍ରଭାବ କାହିଁକି ନାହିଁ।
ଲାଇଭ୍ ଅନୁରୋଧ ଡିବଗ୍ କରିବା ସମୟରେ କେବଳ ଆଶା କରାଯାଉଥିବା ସେଟିଂସ୍ ଅଛି କି ନାହିଁ ଯାଞ୍ଚ କରନ୍ତୁ। ସମ୍ପୂର୍ଣ୍ଣ ପରିବେଶ ମୂଲ୍ୟ ପ୍ରିଣ୍ଟ କରୁଥିବା ଏକ ସାର୍ବଜନୀନ ନିଦାନ ପୃଷ୍ଠା ପ୍ରକ୍ସି ପ୍ରମାଣପତ୍ର ସହିତ ଅସମ୍ପର୍କିତ ରହସ୍ୟ ମଧ୍ୟ ପ୍ରକାଶ କରିପାରେ।
ତାପରେ PHP ପରିବହନ ଯାଞ୍ଚ କରନ୍ତୁ
libcurl ରେ ଡକ୍ୟୁମେଣ୍ଟେଡ୍ ପ୍ରକ୍ସି ପରିବେଶ ପରିଚାଳନା ଅଛି; ସ୍ପଷ୍ଟ PHP cURL ହ୍ୟାଣ୍ଡେଲର ମଧ୍ୟ ନିଜସ୍ୱ ବିକଳ୍ପ ଅଛି। PHP ର HTTP stream wrapper ର ଏକ ଅଲଗା ପ୍ରସଙ୍ଗ ବିନ୍ୟାସ ଅଛି। ୱାର୍କରକୁ ଭେରିଏବଲ୍ ଦେବା ପ୍ରତ୍ୟେକ PHP ନେଟୱାର୍କ API କୁ ସେଗୁଡ଼ିକ ବ୍ୟବହାର କରାଏ ନାହିଁ।
ଏହା ଏକ ଉପଯୋଗୀ ଦୁଇ-ଭାଗ ଯାଞ୍ଚ ଦିଏ: ୱାର୍କର କଣ ପାଇଲା ତାହା ନିଶ୍ଚିତ କରନ୍ତୁ, ତାପରେ ଚୟନିତ HTTP କ୍ଲାଏଣ୍ଟ ପ୍ରକ୍ସି ସେଟିଂସ୍ କିପରି ପଢ଼େ ତାହା ନିଶ୍ଚିତ କରନ୍ତୁ। ଯଦି CLI ଏବଂ FPM ସମାନ ମୂଲ୍ୟ ପାଇଥାନ୍ତି କିନ୍ତୁ ତଥାପି ଅଲଗା ଭାବରେ ବ୍ୟବହାର କରନ୍ତି, ତେବେ ପରବର୍ତ୍ତୀ କ୍ଲାଏଣ୍ଟ ବିକଳ୍ପ ଏବଂ ବାଇପାସ୍ ନିୟମ ତୁଳନା କରନ୍ତୁ। shell ପ୍ରୋଫାଇଲ୍ ବାରମ୍ବାର ସମ୍ପାଦନା କରିବା ୱାର୍କରର HTTP କ୍ଲାଏଣ୍ଟ ଭିତରର ପାର୍ଥକ୍ୟ ସମାଧାନ କରିପାରିବ ନାହିଁ।