Aynı PHP dosyası terminalde proxy kullanabilir ve PHP-FPM tarafından sunulduğunda doğrudan bağlanabilir. Onu çalıştıran süreçleri karşılaştırarak başlayın. Terminaliniz PHP'yi kabuk ortamıyla başlatır; web sunucusu, FPM'nin zaten oluşturduğu çalışanlara bir istek gönderir.

Çalışanın ortamına bakın

FPM havuz yapılandırması clear_env ve açık env[NAME] girdileri sağlar. Ortam temizleme etkinleştirildiğinde, oturum açma kabuğunuzda bir değişkeni dışa aktarmak onu bir çalışana yerleştirmez. Havuz girdileri seçili değişkenleri iletebilir:

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

Yapılandırma değişikliklerini dağıtımınızın normal FPM yeniden yükleme prosedürüyle uygulayın. Değerleri uygulamaya gerçekten hizmet eden havuza koyun. Farklı bir havuz, hizmet hesabı veya konteyner, görünüşte doğru bir düzenlemenin neden etkisiz olduğunu açıklayabilir.

Canlı bir istekte hata ayıklarken yalnızca beklenen ayarların olup olmadığını kontrol edin. Tam ortam değerlerini yazdıran herkese açık bir tanılama sayfası, proxy kimlik bilgilerini ilgisiz sırlarla birlikte açığa çıkarabilir.

Ardından PHP taşımasını kontrol edin

libcurl belgelenmiş proxy ortamı işleyişine sahiptir; açık bir PHP cURL tanıtıcısının da kendi seçenekleri vardır. PHP'nin HTTP akış sarmalayıcısının ayrı bir bağlam yapılandırması vardır. Bir çalışana değişken sağlamak, her PHP ağ API'sinin bunları kullanmasını sağlamaz.

Bu, kullanışlı iki parçalı bir kontrol sunar: çalışanın ne aldığını doğrulayın, ardından seçilen HTTP istemcisinin proxy ayarlarını nasıl okuduğunu doğrulayın. CLI ve FPM aynı değerleri alıp yine de farklı davranıyorsa, sıradaki istemci seçeneklerini ve atlama kurallarını karşılaştırın. Kabuk profilini tekrar tekrar düzenlemek, çalışanın HTTP istemcisinin içindeki bir farkı çözemez.

İlgili makaleler