Web Hosting & cPanel

    cPanel'de PHP Eklentilerini (Extensions) Açma

    Uygulamaların ihtiyaç duyduğu imagick, intl ve gd gibi PHP eklentilerini cPanel'den açmayı anlatan rehber.

    11 dk okuma Güncellendi: 10 Temmuz 2026

    Bir WordPress temasını kurdunuz ve "imagick kütüphanesi bulunamadı" uyarısı çıktı. Ya da Laravel tabanlı bir uygulamayı yüklerken kurulum ekranı "intl eklentisi gerekli" diyerek durdu. Bu tür hataların büyük çoğunluğu sunucunuzda bir arıza olduğu anlamına gelmez; yalnızca PHP'nin belirli bir modülünün henüz devrede olmadığını gösterir. İyi haber şu ki, paylaşımlı hosting kullanıyorsanız bu modülleri açmak için ne SSH'a ne de sistem yöneticisine ihtiyacınız var. cPanel arayüzündeki birkaç tık, çoğu durumda sorunu çözer.

    Bu rehberde PHP eklentilerinin ne olduğunu, uygulamaların neden belirli modüller talep ettiğini ve cPanel'in "Select PHP Version" (PHP Sürümü Seç) aracıyla imagick, intl, mbstring, gd, soap gibi eklentileri nasıl açacağınızı adım adım anlatacağız. Ayrıca eksik modül hata mesajlarını nasıl okuyacağınızı, hangi eklentinin hangi işi yaptığını ve değişikliklerin gerçekten uygulandığını nasıl doğrulayacağınızı göstereceğiz. Amacımız, bir daha aynı hatayı gördüğünüzde nereye bakmanız gerektiğini bilmeniz.

    PHP Eklentileri Tam Olarak Nedir?#

    PHP, çekirdek dilin kendisi ve bu çekirdeğe eklenen modüllerden (extension) oluşur. Çekirdek; değişkenler, döngüler, string işlemleri gibi temel yetenekleri sağlar. Ancak görüntü işleme, çok baytlı (UTF-8 gibi) metin dönüşümleri, XML/SOAP haberleşmesi veya uluslararası tarih biçimlendirme gibi özel işler için ayrı, derlenmiş kütüphaneler devreye girer. İşte bu kütüphanelere PHP eklentisi denir.

    Eklentiler iki şekilde gelir. Bazıları PHP ile birlikte derlenmiş (built-in) olarak gelir ve neredeyse her sunucuda açıktır; json, pcre ve filter bunlara örnektir. Diğerleri ise isteğe bağlı yüklenen paylaşımlı nesnelerdir (.so dosyaları) ve php.ini içinden extension=imagick.so benzeri bir satırla etkinleştirilir. Paylaşımlı hosting ortamında bu satırları elle düzenlemezsiniz; cPanel bu işi sizin için sadeleştirerek her modülün yanına bir onay kutusu koyar.

    Kritik nokta şudur: bir eklenti sunucuda kurulu olabilir ama sizin hesabınız için etkin olmayabilir. cPanel'de yaptığınız işlem, kurulu olan modülü sizin PHP profiliniz için açmaktan ibarettir. Eğer modül sunucuda hiç yüklü değilse (listede görünmüyorsa) bu, hosting sağlayıcısının müdahale etmesi gereken ayrı bir durumdur.

    Uygulamalar Neden Belirli Modüller İster?#

    Modern uygulamalar tekerleği yeniden icat etmez. Bir e-ticaret sitesi ürün görsellerini yeniden boyutlandırmak için sıfırdan bir görüntü motoru yazmak yerine gd veya imagick eklentisini çağırır. Çok dilli bir uygulama, Türkçe karakterleri veya para birimi biçimlerini doğru işlemek için intl ve mbstring modüllerine güvenir. Bir ödeme entegrasyonu, banka servisiyle konuşmak için soap veya curl kullanır. Uygulama geliştiricisi bu modüllerin varlığını bir ön koşul olarak varsayar.

    Bu yüzden çoğu ciddi yazılımın bir "sistem gereksinimleri" listesi vardır. Örneğin WordPress; json, mysqli ve curl gibi modülleri zorunlu tutar, imagick ve gd'yi ise görsel işleme için şiddetle önerir. Laravel çerçevesi kurulum belgelerinde ctype, mbstring, openssl, pdo, tokenizer ve xml gibi bir dizi eklenti sıralar. Uygulamayı kurduğunuzda bu listedeki bir modül eksikse, kurulum sihirbazı ya sizi uyarır ya da çalışma anında bir hata fırlatır.

    Composer ile yönetilen PHP projelerinde gereksinimler composer.json dosyasında açıkça belirtilir. Aşağıdaki gibi bir bölüm, projenin hangi eklentilere ihtiyaç duyduğunu net biçimde söyler:

    {
      "require": {
        "php": ">=8.1",
        "ext-intl": "*",
        "ext-gd": "*",
        "ext-mbstring": "*"
      }
    }
    

    Buradaki ext- önekiyle yazılan her satır bir PHP eklentisidir. Eğer sunucunuzda bu modüller açık değilse composer install komutu "the requested PHP extension ext-intl is missing" gibi bir hatayla durur. Bu, cPanel'den ilgili kutuyu işaretlemeniz gerektiğinin açık bir işaretidir.

    cPanel'de Select PHP Version ile Eklenti Açma#

    cPanel'de eklenti yönetiminin kalbi Select PHP Version (bazı temalarda "MultiPHP Manager" veya "PHP Selector" olarak da geçer) aracıdır. Bu araç, hem çalışan PHP sürümünü seçmenizi hem de o sürüme ait eklentileri tek tek açıp kapatmanızı sağlar. Sürüm seçimi konusunu daha derinlemesine ele alan PHP sürüm yönetimi rehberimize de göz atabilirsiniz; çünkü bir eklentinin listede görünmesi, seçili PHP sürümüne bağlıdır.

    İşlem adımları çoğu cPanel kurulumunda şöyledir:

    1. cPanel'e giriş yapın. Panele nasıl eriştiğinizden emin değilseniz cPanel nedir yazımız temel kavramları açıklar.
    2. Ana ekranda Software (Yazılım) bölümüne inin ve Select PHP Version simgesine tıklayın.
    3. Açılan ekranın üst kısmında geçerli PHP sürümünü göreceksiniz. Uygulamanızın desteklediği bir sürümün seçili olduğundan emin olun (örneğin PHP 8.1 veya 8.2).
    4. Sürümün hemen altında Extensions sekmesi ya da uzun bir onay kutusu listesi bulunur. Bu liste, o sürüm için açılabilecek tüm modülleri gösterir.
    5. Açmak istediğiniz eklentinin yanındaki kutuyu işaretleyin. Örneğin imagick, intl, mbstring, gd ve soap için kutuları tek tek seçin.
    6. Değişiklikler genellikle anında kaydedilir; bazı temalarda alttaki Save düğmesine basmanız gerekir.

    Onay kutusunu işaretlediğiniz an cPanel, arka planda sizin hesabınıza özel .user.ini veya php.ini dosyasına ilgili satırı ekler. Yani perde arkasında şuna benzer bir yapılandırma oluşur:

    ; cPanel tarafından hesabınıza otomatik eklenen satırlar
    extension = imagick
    extension = intl
    extension = mbstring
    extension = gd
    extension = soap
    

    Bu dosyayı elle düzenlemenize gerek yoktur ve paylaşımlı hosting'de çoğu zaman izin de verilmez. Arayüzü kullanmak hem daha güvenli hem de sürüm değiştirdiğinizde ayarların doğru profile bağlanmasını sağlar.

    Eğer sunucunuz CloudLinux tabanlıysa "Select PHP Version" yerine PHP Selector adında benzer bir araç görebilirsiniz. Mantık aynıdır: üstte sürüm seçimi, altta "Extensions" ve "Options" sekmeleri. Extensions sekmesinde modülleri işaretler, Options sekmesinde ise memory_limit, upload_max_filesize gibi değerleri ayarlarsınız.

    Yaygın PHP Eklentileri ve Ne İşe Yaradıkları#

    Hangi kutuyu işaretleyeceğinizi bilmek için modüllerin ne yaptığını tanımak gerekir. Aşağıdaki tablo, paylaşımlı hosting'de en sık ihtiyaç duyulan eklentileri ve tipik kullanım alanlarını özetliyor.

    EklentiGöreviSıkça İstendiği Yer
    imagickImageMagick tabanlı gelişmiş görüntü işlemeWordPress, WooCommerce, galeri eklentileri
    gdHafif görüntü oluşturma ve yeniden boyutlandırmaKüçük resim üretimi, CAPTCHA, grafik
    intlUluslararasılaştırma, tarih/para/dil biçimlendirmeLaravel, Symfony, çok dilli siteler
    mbstringÇok baytlı (UTF-8) string işlemleriTürkçe/emoji içeren tüm modern uygulamalar
    soapSOAP protokolüyle web servisi haberleşmesiBanka, kargo, e-fatura entegrasyonları
    curlHTTP istekleri, API çağrılarıÖdeme geçitleri, harici API kullanan her uygulama
    zipArşiv oluşturma ve açmaYedekleme eklentileri, tema/eklenti kurulumu
    exifGörsellerin meta verilerini okumaFotoğraf odaklı temalar, medya kütüphanesi
    bcmathYüksek hassasiyetli matematikMuhasebe, finans, kripto hesaplamaları
    pdo_mysqlNesne yönelimli veritabanı erişimiLaravel, çoğu modern framework

    Bu listeye bakarken bir gerçeği aklınızda tutun: imagick ile gd benzer işi yapar ama aynı değildir. imagick, ImageMagick kütüphanesini kullanarak daha yüksek kaliteli çıktı ve daha fazla format desteği sunar; gd ise daha hafiftir ve neredeyse her yerde bulunur. WordPress, imagick varsa onu tercih eder, yoksa gd'ye düşer. Bu yüzden ideal olan ikisinin de açık olmasıdır.

    Benzer şekilde mbstring neredeyse pazarlık konusu değildir. Türkçe karakterlerle (ç, ğ, ı, ö, ş, ü) çalışan bir uygulamada strlen gibi fonksiyonların doğru sonuç vermesi için bu modül şarttır. Kapalıysa metinler bozuk görünebilir veya karakter sayımı yanlış olur.

    Eksik Modül Hatalarını Okumak ve Çözmek#

    Bir eklenti eksik olduğunda uygulama size genellikle oldukça açık bir mesaj verir. Zor olan, bu mesajı doğru okuyup hangi kutuyu işaretlemeniz gerektiğini anlamaktır. En sık karşılaşılan kalıpları tanıyalım.

    WordPress site sağlığı ekranında şuna benzer bir uyarı görebilirsiniz:

    Bir veya daha fazla önerilen modül eksik: imagick.
    Görsellerin işlenmesi için imagick veya gd modülü önerilir.
    

    Bu mesajın çözümü nettir: Select PHP Version ekranından imagick kutusunu işaretlemek. Modül açıldıktan sonra WordPress'in site sağlığı sayfasını yenilediğinizde uyarı kaybolur.

    Laravel veya Composer tabanlı bir kurulumda ise hata şöyle görünür:

    $ php artisan migrate
    PHP Fatal error:  Uncaught Error: Class "NumberFormatter" not found
    

    NumberFormatter sınıfı intl eklentisiyle gelir. Yani bu hata aslında "intl kapalı" demektir. Bir başka klasik örnek Call to undefined function mb_strlen() mesajıdır; buradaki mb_ öneki doğrudan mbstring modülünü işaret eder. Aşağıdaki tablo, hata mesajıyla açmanız gereken modül arasındaki bağı kurmanıza yardımcı olur.

    Hata Mesajındaki İpucuEksik Olan Eklenti
    Class "Imagick" not foundimagick
    Class "NumberFormatter" not foundintl
    Call to undefined function mb_strlen()mbstring
    Call to undefined function imagecreatetruecolor()gd
    Class "SoapClient" not foundsoap
    Call to undefined function curl_init()curl
    Class "ZipArchive" not foundzip

    Bir sınıf ya da fonksiyon adı görüp hangi modüle ait olduğunu bilmiyorsanız, ipucu genellikle adın kendisinde saklıdır: mb_ ile başlayanlar mbstring, curl_ ile başlayanlar curl, Soap içerenler soap modülüne aittir. Bu mantığı bir kez kavradığınızda çoğu hatayı arama motoruna bile gerek kalmadan çözebilirsiniz.

    Eğer aradığınız modül Select PHP Version listesinde hiç görünmüyorsa, bu, modülün sunucuda kurulu olmadığı anlamına gelir. Böyle bir durumda yapılacak şey bir sunucu yönetimi desteği talep etmek ya da hosting sağlayıcınıza modülün derlenmesini bildirmektir. Clou.TR paylaşımlı hosting paketlerinde en yaygın eklentiler zaten kurulu gelir; siz yalnızca açma işini yaparsınız.

    Eklentiyi Açtıktan Sonra Doğrulama#

    Kutuyu işaretlediniz, peki değişiklik gerçekten uygulandı mı? Bunu birkaç yöntemle kesin olarak doğrulayabilirsiniz. En hızlısı, hesabınızın kök dizinine küçük bir kontrol dosyası koymaktır. cPanel'in File Manager aracını açıp public_html içine info.php adında bir dosya oluşturun ve içine şunu yazın:

    <?php
    phpinfo();
    

    Ardından tarayıcıdan https://alanadiniz.com/info.php adresini ziyaret edin. Açılan sayfada imagick, intl veya aradığınız modülün adını (Ctrl+F ile) aratın. Kendi başlığıyla bir bölüm görüyorsanız modül etkindir. Önemli: doğrulama bittikten sonra bu dosyayı mutlaka silin; phpinfo() çıktısı sunucunuz hakkında fazla bilgi ifşa eder ve güvenlik açısından açık bırakılmamalıdır.

    Komut satırına (SSH) erişiminiz varsa daha temiz bir yöntem şudur:

    # Yüklü tüm modülleri listele
    php -m
    
    # Yalnızca belirli bir modülü kontrol et
    php -m | grep -i imagick
    

    Çıktıda modülün adını görüyorsanız açılmış demektir. WordPress kullanıcıları için en pratik yol ise panelden Araçlar > Site Sağlığı > Bilgi > Sunucu yolunu izlemektir; bu ekran aktif PHP eklentilerini derli toplu listeler. Değişikliği yaptıktan sonra uyarının kaybolduğunu görmek, işlemin başarılı olduğunun en somut kanıtıdır.

    Nadiren de olsa değişikliğin yansıması için PHP'nin önbelleğinin (OPcache) temizlenmesi ya da birkaç dakika beklenmesi gerekebilir. Modülü açtınız ama hata hâlâ sürüyorsa, önce doğru PHP sürümünü düzenlediğinizden emin olun; çünkü bir uygulama PHP 8.1 çalışırken siz yanlışlıkla PHP 7.4 sürümüne eklenti eklemiş olabilirsiniz.

    Dikkat Edilmesi Gereken Noktalar ve İpuçları#

    Eklenti açmak basit bir iştir ama birkaç ince ayrıntı, gereksiz saatler kaybetmenizi önler. İlk kural: doğru PHP sürümünü düzenleyin. Select PHP Version ekranında birden fazla sürüm listelenir ve her birinin kendi eklenti seti vardır. Sitenizin çalıştığı sürüm hangisiyse eklentileri o sürüme eklemelisiniz. Alt alan adları veya farklı dizinler farklı PHP sürümü kullanıyorsa, her biri için ayrı ayrı kontrol gerekebilir.

    İkinci nokta, her modülü gereksiz yere açmamaktır. Her etkin eklenti biraz daha bellek tüketir ve teoride saldırı yüzeyini genişletir. İhtiyaç duyduklarınızı açın; "ne olur ne olmaz" diye tüm listeyi işaretlemek iyi bir alışkanlık değildir. Uygulamanızın gereksinim listesini rehber alın.

    Üçüncüsü, bazı eklentiler birbirine bağımlıdır. Örneğin imagick, sistemde ImageMagick kütüphanesinin kurulu olmasını gerektirir; intl, ICU kütüphanesine dayanır. Paylaşımlı hosting'de bu alt bağımlılıklar zaten sağlanmış olur, ancak bir VPS veya sunucu yönetiyorsanız modülü açmadan önce sistem paketinin kurulu olduğundan emin olmanız gerekir. Kendi VDS sunucunuzu yönetiyorsanız bu ayrım önemlidir; paylaşımlı pakette ise böyle bir yük omuzlarınızda olmaz.

    Son olarak, birçok uygulamayı tek tıkla kuran App Center çözümlerinde eklenti gereksinimleri çoğunlukla önceden ayarlanmış gelir. n8n, Ghost veya Nextcloud gibi hazır uygulamaları dağıttığınızda, altyapı ilgili modüllerle birlikte hazırlandığı için bu adımlarla uğraşmanıza çoğu zaman gerek kalmaz.

    Sıkça Sorulan Sorular#

    imagick ve gd eklentileri arasındaki fark nedir?#

    Her ikisi de görüntü işleme yapar ama farklı motorlar kullanır. imagick, güçlü ImageMagick kütüphanesine dayanır ve daha yüksek kalite ile daha geniş format desteği sunar; gd ise daha hafiftir, daha az kaynak tüketir ve neredeyse her sunucuda hazır bulunur. WordPress gibi uygulamalar imagick varsa onu, yoksa gd'yi kullanır. En sağlıklısı, ikisini birden açık tutarak uygulamanın en iyi seçeneği tercih etmesine izin vermektir.

    Bir eklentiyi açtığımda sitem bozulur mu?#

    Hayır, standart bir eklentiyi etkinleştirmek sitenizin çalışmasını bozmaz; yalnızca yeni bir yetenek eklersiniz. Eklenti açmak, mevcut kodun davranışını değiştirmek yerine ona ek fonksiyonlar sunar. Yine de büyük değişiklikleri önce bir test veya deneme ortamında denemek her zaman iyi bir alışkanlıktır. Bir sorun çıkarsa aynı kutunun işaretini kaldırarak değişikliği anında geri alabilirsiniz.

    İhtiyacım olan modül cPanel listesinde görünmüyor, ne yapmalıyım?#

    Bu genellikle modülün sunucuda henüz kurulu olmadığı anlamına gelir; çünkü liste yalnızca kurulu olup açılabilecek modülleri gösterir. Böyle bir durumda önce doğru PHP sürümünü seçtiğinizden emin olun, çünkü bazı modüller yalnızca belirli sürümlerde bulunur. Modül hâlâ görünmüyorsa hosting sağlayıcınızdan onu derlemesini talep etmeniz gerekir. Clou.TR müşterileri destek talebi açarak bu modülün eklenmesini isteyebilir.

    Eklentiyi açtım ama hata devam ediyor, neden?#

    En sık neden, eklentiyi sitenizin gerçekte çalıştığı PHP sürümünden farklı bir sürüme eklemiş olmanızdır. Select PHP Version ekranında aktif sürümü doğrulayın ve modülü o sürüme ekleyin. İkinci olası neden, PHP'nin OPcache önbelleğinin eski yapılandırmayı tutmasıdır; birkaç dakika bekleyip önbelleği temizlediğinizde sorun genellikle düzelir. Değişikliğin uygulandığını phpinfo() çıktısında modülü görerek kesinleştirebilirsiniz.

    Eklenti açmak için SSH veya root erişimi gerekir mi?#

    Paylaşımlı hosting kullanıyorsanız hayır, hiçbir komut satırı erişimine ihtiyacınız yoktur. cPanel'in Select PHP Version aracındaki onay kutuları, gereken tüm işi arayüz üzerinden halleder. SSH veya root erişimi yalnızca kendi VPS ya da sunucunuzu yönetiyorsanız ve modülü sistem düzeyinde derlemeniz gerekiyorsa devreye girer. Standart bir hosting kullanıcısı için tek gereken, panele giriş yapmak ve doğru kutuyu işaretlemektir.

    Kapanış#

    PHP eklentileri, uygulamalarınızın ihtiyaç duyduğu özel yetenekleri sağlayan yapı taşlarıdır ve çoğu "eksik modül" hatası, cPanel'de birkaç kutu işaretlemekle çözülür. Anahtar; doğru PHP sürümünü seçmek, hata mesajını doğru okuyup hangi modülü açacağınızı belirlemek ve değişikliği phpinfo() ya da site sağlığı ekranıyla doğrulamaktır. Bu üç adımı bir kez alışkanlık hâline getirdiğinizde, benzer sorunlar sizin için birkaç dakikalık rutin işlemlere dönüşür.

    Uygulamalarınızın ihtiyaç duyduğu tüm eklentilerin hazır geldiği, hızlı ve destekli bir altyapı arıyorsanız Clou.TR web hosting paketleri tam size göre. WordPress projeleri için optimize edilmiş WordPress hosting çözümlerimizde en yaygın PHP modülleri kutudan çıktığı gibi açık gelir; daha fazla kaynak ve tam kontrol isterseniz sunucu çözümlerimize göz atabilirsiniz. Takıldığınız her adımda uzman destek ekibimiz yanınızda.

    PHPYapılandırma

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.