file_get_contents() fonksiyonu https problemi
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.

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.

İş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.
Ücretsiz kurs ister misin kaydol!
İstanbul Üniversitesi Yönetim Bilişim Sistemleri Yüksek Lisans derecem ve kamu sektöründeki tecrübemle profesyonel kariyerime Yazılım Yöneticisi olarak devam ediyorum. Edindiğim bilgi birikimi ve deneyimlerimi, yazılım ve teknoloji alanında kendini geliştirmek isteyenlere rehberlik etmek amacıyla paylaşıyorum.
Bu kanalda, sıfırdan ileri seviyeye kadar kapsamlı ve pratik odaklı yazılım dersleri bulabilir, kariyer yolculuğunuzda bir adım öne geçebilirsiniz. Eğer yazılım dünyasında kendinize sağlam bir yer edinmek istiyorsanız, doğru yerdesiniz.
Haydi, öğrenmeye ve birlikte büyümeye başlayalım!
Hocam apache server nasıl restartlanır.
Teşekkürler. 🙂