Composer php için hazırlanmış bir bağımlılık yönetim uygulamasıdır. Size projenize kolay bir şekilde kütüphaneleri ekleme ve güncelleme işlemlerinde kolaylık sağlar. Sürekli güncellenen açık kaynak kütüphaneleri projenizde kullanmak ve güncel tutmak istediğinizde en büyük yardımcınız composer olacaktır. Ben composer i laravel framework ile hazırladığım projelerimi güncel tutmak için kullanıyorum. Bu yazıda composer kullanırken karşılaştığım bir sorunun çözümünü anlatacağım. Daha önce yaşadığım bu sorunu uzun araştırmalar sonrası çözmüştüm. Bu gün bilgisayarımı formatladıktan sonra karşılaştım ve tekara araştırma yapmak zorunda kaldım. Bir daha ki sefere aramamak için ve aynı sorunla karşılacak diğer geliştiricilerin faydalanması için çözümü burada yazmaya karar verdim.
Hata composer update yada composer self-update komutunu verdiğimizde kaşımıza çıkıyor. Karşımıza çıkan hata tam olarak şöyle:
[ComposerDownloaderTransportException] The "https://packagist.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed Failed to enable crypto failed to open stream: operation failed
Bu hata bilgisayarımızda kurulu olan PHP nin openssl yapılandırmasından kaynaklanıyor. PHP ssl sertifikasını bulmak istediği yerde bulamadığı için karşımıza bu şekilde bir hata çıkıyor. Bu hatanın çözümü için ilk önce PHP nin ssl sertifikalarını nerede bulmak istediğini öğreniyoruz. Bunun için konsolda aşağıdaki komutu çalıştırıyoruz:
php -r "print_r(openssl_get_cert_locations());"
komutun çıktısı aşağıdakine benzer olacaktır.
Array ( [default_cert_file] => /usr/lib/ssl/cert.pem [default_cert_file_env] => SSL_CERT_FILE [default_cert_dir] => /usr/lib/ssl/certs [default_cert_dir_env] => SSL_CERT_DIR [default_private_dir] => /usr/lib/ssl/private [default_default_cert_area] => /usr/lib/ssl [ini_cafile] => [ini_capath] => )
İkinci adım olarak aşağıdaki komut ile sertifika dosyasını indiriyoruz.
wget http://curl.haxx.se/ca/cacert.pem
Son olarak indirdiğimiz sertifika dosyasını PHP default_cert_file dizinine kopyalıyoruz(bu dizini bir önceki komut ile öğrendik).
sudo mv cacert.pem /usr/lib/ssl/cert.pem
Son olarak ne olur ne olmaz diye apache sunucumuzu yeniden başlatıyoruz:
sudo service apache2 restart
Artık proje dizininize gelip composer update komutunu verdiğinizde projenizin kütüphaneleri güncellenecektir. İyi çalışmalar.
merhaba ben contact form 7 kullanırken bu sorunu yaşıyorum nasıl düzelteceğim bilniyoırum kafayı yemek üzereyim
yazıdaki adımları uyguladınız mı? Bildiğim kadarıylacontact form 7 Nordness te kullanılıyor. Bu eklentinin güncellemesini wordpress.org üzerinden indirip sitene güldeyerek de yapabilirsin.