PHP copy() veya file_get_contents() Fonksiyonlarında OpenSSL Hatası Nasıl Çözülür?

30 Eylül 2021 - 20:20:14 63 Gösterim 0 Yorum

Hepimiz gidişli gelişli kodlar projeler üretiyoruz. Bu nedenle vazgeçilmez iki fonksiyon copy ve file get contents için bazı durumlarda openssl hatası almamız mümkün. Örnekteki gibi hatalarla karşılaşmanız durumunda SSL durumunu pasifleştirip tekrar istek göndermek işe yarayacaktır. bunuda örnekle açıklayalım.

copy(): SSL operation failed with code 1. OpenSSL Error messages:

Diyelimki bir zip dosyasını alıp kendi sunucumuza almak istiyoruz.

copy("site.com/bir.zip", "uploads/dosyalar/bir.zip");

Zip dosyamızı uploads klasörünün içerisindeki dosyalar klasörüne yine aynı isimle kayıt ettik. Fakat bir süre sonra bu sistem çalışırken SSL hatası vermeye başladı. Sorun yok kodu modifiye etmemiz yeterli.

$ayarlar= array(
    "ssl"=>array(
        "allow_self_signed"=>true,
        "verify_peer"=>false,
        "verify_peer_name"=>false
    )
);
copy("site.com/bir.zip", "uploads/dosyalar/bir.zip", stream_context_create($ayarlar));

Artık SSL hatası almadan devam edebilirsiniz. Aynı yöntemi file get contents fonksiyonu için yapalım.

$ayar=array(
    "ssl"=>array(
        "verify_peer"=>false,
        "verify_peer_name"=>false,
    ),
);  
$sonuc = file_get_contents("site.com/birresim.jpg", false, stream_context_create($ayar));

bu şekilde isteği gönderirken Header kısmına istediğimiz özellikleri girebiliriz. Aynı SSL durumunu kapatmak gibi. Umarım faydalanırsınız. İyi kodlamalar.

 

Yorum Yapılmamış

Bu yazıya henüz bir yorum yapılmamış, hemen bir tane yapmak ister misin ?

Yorum Yapın