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 otomatik 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 sitesine
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:
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.
PHP 7.2.0 ve üzeri sürümlerde, eklentinin dosya adı yerine eklenti adının
kullanılabileceğini unutmayın. Bu işletim sisteminden bağımsız ve daha
kolay olduğundan, özellikle yeni başlayanlar için, yüklenecek eklentileri
belirlemenin önerilen yolu haline gelir. Dosya adları, önceki sürümlerle
uyumluluk için desteklenmeye devam etmektedir.
;extension=php_eklenti.dll
extension=php_eklenti.dll
; PHP 7.2 ve sonrasında şunu tercih edin:
extension=eklenti
zend_extension=diğer_eklenti
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 ve bu dosyanın bağımlı olduğu DLL'lerin 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.