Bir PHP Eklentisinin Windows Kurulumu

Windows'ta bir PHP eklentisini yüklemenin iki yolu vardır: Ya eklentiyi PHP içinde derlersiniz ya da DLL olarak yüklersiniz. Derlenmiş bir eklentiyi yüklemek en kolay ve en çok tercih edilen yoldur.

Bir eklentiyi yüklemek için sisteminizde o eklentinin ".dll" dosyasının bulunması gerekir. Tüm eklentiler özdevinimli olarak belirli aralıklarla PHP Grubu tarafından derlenirler (bunları indirmek için sonraki bölüme bakınız).

Bir eklentiyi PHP içinde derlemek için Kaynak kod paketinden derleme belgesine bakınız.

Bir eklentiyi tek başına (yani bir DLL olarak) derlemek için Kaynak kod paketinden derleme belgesine bakınız. Eğer DLL dosyası ne PHP dağıtımınızda ne de PECL sitesinde mevcutsa, eklentiyi kullanmaya başlamadan önce derlemek zorunda kalabilirsiniz.

Bir eklenti nereden bulunur?

PHP eklentileri genellikle "php_*.dll" biçeminde isimlendirilir (yıldız iminin yerine eklentinin ismi gelir) ve "PHP\ext" dizini altında bulunur.

PHP, geliştiricilerin büyük çoğunluğunca en faydalı bulunan eklentilerle birlikte gelir. Bunlara "çekirdek" eklentiler adı verilir.

Bununla birlikte, çekirdek eklentilerle sağlanmamış bir işlevselliğe ihtiyaç duyarsanız, PECL sitesinde bakabilirsiniz. PHP Eklentileri Halk Kütüphanesi (PECL - PHP Extension Community Library) bir PHP Eklentileri deposu olup PHP eklentilerinin geliştirilmesi ve indirilmesi için barındırma oluşumlarını ve bilinen tüm eklentilerin bir dizinini içerir.

Kendi kullanımınız için bir eklenti geliştiriyorsanız PECL'de barındırılmasını isteyebilirsiniz, böylece ihtiyaçları aynı olan başkaları da eklentinizden yararlanabilir. Bunun bazı olumlu yan etkileri de vardır: Geribildirim, teşekkür, hata bildirimi, hatta düzeltme ve yama alma şansınız olur. Eklentinizi barındırılmak üzere PECL'ye göndermeden önce lütfen » PECL submit adresini ziyaret ediniz.

Hangi eklenti indirilecek?

Çoğu zaman her DLL'nin çok sayıda sürümü vardır:

  • Farklı sürüm numaraları (en azından ilk iki sayı tutmalı)
  • Farklı evre güvenceli olanlar
  • Farklı işlemciler için olanlar (x86, x64, ...)
  • Farklı hata ayıklama seçenekli olanlar
  • vs.

Şunu aklınızdan çıkarmayın: Eklenti ayarlarınız kullandığınız PHP çalıştırılabilirinin ayarları ile aynı olmalıdır. Aşağıdaki PHP betiği PHP ayarlarınızın tamamını size söyleyecektir:

Örnek 1 phpinfo() kullanımı

<?php
phpinfo
();
?>

Ya da komut satırından şunu çalıştırın:

sürücü:\\dizin\yolu\php\executable\php.exe -i

Bir eklentinin yüklenmesi

Bir PHP eklentisini yüklemenin en bilinen yolu eklentiyi php.ini dosyasına eklemektir. Dikkatli incelerseniz php.ini dosyanızda bir çok eklentinin zaten ekli olduğunu görürsünüz. Eklentiyi etkin kılmak için tek yapacağınız eklentinin belirtildiği satırın başındaki noktalı virgülü silmek olacaktır.

;extension=php_eklenti.dll
extension=php_eklenti.dll

Bununla birlikte, bazı HTTP sunucuları, PHP çalıştırılabilirinin yanına konmuş php.ini dosyasını kullanmadıklarından eklentinizi göremeyebilirler. HTTP sunucunuzun kullandığı php.ini dosyasının bulunduğu yeri phpinfo() işlevini kullanarak öğrenebilirsiniz:

Configuration File (php.ini) Path C:\WINDOWS
Loaded Configuration File         C:\Program Files\PHP\5.2\php.ini

Eklentiyi etkin kıldıktan sonra php.ini dosyanızı kaydedin ve HTTP sunucunuzu yeniden başlattıktan sonra tekrar phpinfo() çıktısına bakın. Yeni eklentiyi artık kendi bölümünde görüyor olmanız gerekir.

Sorunların çözümlenmesi

Eğer eklenti phpinfo() çıktısında görünmüyorsa sorunun kaynağını bulmak için günlük dosyalarınıza bakmalısınız.

PHP'yi komut satırından kullanıyorsanız (CGI), eklenti yükleme hatasını doğrudan ekranda görebilirsiniz.

PHP'yi bir HTTP sunucusu ile kullanıyorsanız günlük dosyalarının yeri ve biçemi kullandığınız yazılıma göre değişir. Günlüklerin yerini bulmak için kullandığınız HTTP sunucusunun belgelerine bakınız.

Sorunların çoğu DLL dosyasının yeri ile ilgilidir. php.ini içindeki "extension_dir" yönergesinin değeri ile derleme sırasında yapılan ayarlar arasında bir tutarsızlık olabilir.

Eğer sorun derleme sırasında yapılan ayarlarla uyumsuzluktan kaynaklanıyorsa muhtemelen indirdiğiniz DLL dosyasını doğru yere koymamışsınız demektir. Eklentiyi doğru ayarlarla tekrar indirmeyi deneyin. Bunu yaptıktan sonra tekrar phpinfo() çıktısına bakmayı unutmayın.