Otomatik olarak PHP sunucunun proxy ayarlarını tespit

2 Cevap php

Ben bir windows sunucu üzerinde çalışan bir PHP komut dosyası var. Komut proxy_host ve proxy_port verilebilir bir SoapClient nesnesi oluşturur. Aksine bu değerleri hardcoding veya onlara bir yapılandırma seçeneği yapmak yerine, ben PHP komut dosyası otomatik olarak yerel sunucunun proxy ayarlarını algılamak istiyorum o yüzden değiştirmek veya komut farklı bir sunucu üzerinde çalıştırmak ise, sadece çalışacak. Herkes PHP bunu nasıl biliyor mu.

2 Cevap

Ben bu mümkün vekil yapılandırmaları geniş verilmiş, şu anda mümkün olduğuna inanmıyorum. Tipik olarak, (örneğin ödeme ağ geçitleri gibi) bileşenleri bu ayarlayabilirsiniz (genellikle php.ini dosyasında) vekil bilgi için yapılandırma ayarlarını sağlamak. Bir * Nix tabanlı bir ortamda çalışan eğer Yoksa, aşağıdaki yöntemi kullanarak, şu anda çalışan kullanıcı için ortam ayarlarını almak için deneyebilirsiniz:

http://us.php.net/manual/en/function.getenv.php

Bu şekilde, sunucuları, kullanıcı proxy ayarlarını değiştirirse, script onu almak ve kullanmak deneyebilir.

Bu biraz çılgın, ve muhtemelen bunu yapmak istemiyorum. Ama win32 altında could) WinHttpGetIEProxyConfigForCurrentUser (değerini almak için bir php addon yazmak.

Alternatif olarak biraz daha araştırma ile muhtemelen kayıt defteri değerlerini bulmak ve sonra win32std kullanarak sorgulayabilir.