Sahadan Notlar

IIS üzerinde PHP exif_imagetype() hatasını anlamak

Bazen bir web uygulamasında beklenmedik bir hata, aslında çalışan PHP sürümünden değil eksik bir uzantıdan kaynaklanır. Karşılaştığım bir örnekte hata mesajı şöyleydi:

Call to undefined function exif_imagetype()

İlk kontrol: Fonksiyon gerçekten var mı?

exif_imagetype() PHP’nin EXIF uzantısıyla ilişkilidir. Önce web sitesini çalıştıran PHP ortamında bu uzantının etkin olup olmadığını kontrol etmek gerekir. Komut satırındaki PHP ve web sunucusunun kullandığı PHP farklı olabilir.

php -m
php -r "var_dump(function_exists('exif_imagetype'));"

Çözüm yaklaşımı

Kullanılan işletim sistemi ve PHP dağıtımına uygun EXIF desteği etkinleştirilmeli; ardından web sunucusunun kullandığı PHP işlem havuzu veya servis gerektiği şekilde yeniden başlatılmalıdır. Paylaşımlı barındırmada bu işlem hosting panelinden veya destek ekibi aracılığıyla yapılabilir.

Son olarak uygulama üzerinde aynı görüntü işleme işlemini yeniden deneyerek doğrulama yapılır. Hata çözüldüğünde bile bu tür kontrollerin kurulum kontrol listesine eklenmesi ileride zaman kazandırır.

Not: Buradaki adımlar bir vakadan hareketle genelleştirilmiş teşhis yaklaşımıdır; her sistemde aynı kurulum komutları kullanılmaz.