Fail PHP yang sama boleh menggunakan proksi dalam terminal dan pergi terus apabila dilayan oleh PHP-FPM. Mulakan dengan membandingkan proses yang menjalankannya. Terminal anda memulakan PHP dengan persekitaran shell; pelayan web menghantar permintaan kepada pekerja yang telah dicipta oleh FPM.

Lihat persekitaran pekerja

Konfigurasi kolam FPM menyediakan clear_env dan entri env[NAME] yang eksplisit. Dengan pembersihan persekitaran dihidupkan, mengeksport pemboleh ubah dalam shell log masuk tidak meletakkannya dalam pekerja. Entri kolam boleh menghantar pemboleh ubah terpilih:

env[http_proxy] = http://203.0.113.10:8080
env[https_proxy] = http://203.0.113.10:8080

Gunakan perubahan konfigurasi melalui prosedur muat semula FPM biasa dalam penggunaan anda. Letakkan nilai dalam kolam yang benar-benar melayani aplikasi. Kolam, akaun perkhidmatan atau kontena yang berbeza boleh menjelaskan mengapa suntingan yang kelihatan betul tidak berkesan.

Semasa menyahpepijat permintaan langsung, periksa hanya sama ada tetapan yang dijangkakan wujud. Halaman diagnostik awam yang mencetak nilai persekitaran penuh boleh mendedahkan kelayakan proksi bersama rahsia yang tidak berkaitan.

Kemudian semak pengangkutan PHP

libcurl mempunyai pengendalian persekitaran proksi yang didokumenkan; pemegang PHP cURL yang eksplisit juga mempunyai pilihan sendiri. Pembalut strim HTTP PHP mempunyai konfigurasi konteks yang berasingan. Membekalkan pemboleh ubah kepada pekerja tidak menjadikan setiap API rangkaian PHP menggunakannya.

Itu memberikan semakan dua bahagian yang berguna: sahkan apa yang diterima pekerja, kemudian sahkan bagaimana klien HTTP yang dipilih membaca tetapan proksi. Jika CLI dan FPM menerima nilai yang sama tetapi masih berkelakuan berbeza, bandingkan pilihan klien dan peraturan pintasan seterusnya. Menyunting profil shell berulang kali tidak dapat menyelesaikan perbezaan dalam klien HTTP pekerja.

Artikel berkaitan