file_get_contents() fonksiyonu lokal dosya içeriğini bir dizge olarak döndürebileceği gibi url bazlı olarak ta çalışarak belirtilen site içeriğini de döndürmektedir.

Lokal sunucularda yada bazı durumlarda hosting firmalarında yapılandırmadan kaynaklı olarak file_get_contents() fonksiyonu kullanılmak istendiğinde şu hata mesajını alabilirsiniz.

Warning: file_get_contents(): Unable to find the wrapper “https” – did you forget to enable it when you configured PHP?

file_get_content() open ssl problemi

Bu hatayı https:// güvenli SSL sertifikası bulunan sitelerden veri çekmeye çalıştığında alırsınız. Örnek olarak aşağıda file_get_contents() fonksiyonu kullanılarak https://www.emrahyuksel.com.tr sitesine istekte bulunulmuştur. Fakat php.ini dosyasında yer alan php_openssl.dll dosyası aktif olmadığından dolayı “Warning: file_get_contents(): Unable to find the wrapper “https” – did you forget to enable it when you configured PHP?” hatası alındı.

<?php 
echo file_get_contents("https://www.emrahyuksel.com.tr");

file_get_contents metodunun https sitelerde kullanımından kaynaklı oluşan “Warning: file_get_contents(): Unable to find the wrapper “https” – did you forget to enable it when you configured PHP?” hatasını çözmek için php.ini dosyasında düzenleme yapmamız gerekiyor.

localhost php.ini dosyası nerede?

php.ini dosyasının düzenlenmesi ile ilgili detaylı makaleye şu linkten ulaşabilirsiniz. localhost php.ini dosyası nerede?

Hatanın Çözümü

php.ini dosyasını açın ve “php_openssl.dll” ibaresini aratın.

php.ini openssl aktif etme

görselde gördüğünüz satırların başında ; (noktalı virgül) işareti bulunuyorsa o satır ilgili dll dosyasının pasif olduğu anlamına geliyor. Aktif etmek için tek yapmamız gereken ; (noktalı virgül) ibaresini kaldırarak kaydetmektir. İlgili satırın son hali şu şekilde olmalıdır.

openssl aktif etme

İşlemi tamamladıktan sonra php.ini dosyasını kaydederek kapatıyoruz. Ama yaptığımız değişikliklerin geçerli olması için Apache sunucusunu restart ederek yeniden başlatmamız gerekiyor. Apache sunucu yeniden başlattıktan sonra tekrar file_get_contents() fonksiyonunu test edelim.

<?php 
echo file_get_contents("https://www.emrahyuksel.com.tr");

Artık file_get_contents() metoduyla birlikte https içerikli bağlantılardan da veri çekme işlemini gerçekleştirebiliyoruz.

İlk sen öğren

E-posta listemize abone olarak yayınlanacak içeriklerden ilk sen haberdar ol.

(Visited 66 times, 1 visits today)