IIS Üzerinde Farklı PHP Sürümlerinin Beraber Kullanımı

iis php 8 logo

Eğer windows server üzerinde PHP kullanmak isterseniz bunun 2 yolu var. En basit yol IIS’in kendi sitesinden önceden hazırlanmış paketleri indirip kurmak. Fakat burada önceden hazırlanmış paketlerin PHP sürümleri eski ve ara versiyonlar bulunmuyor. Bu yazıda en güncel PHP sürümünü indirip, gerekli ayarları yapıp, kullanıma hazır hale getirilmesinden bahsedeceğim. Ardından farklı sürümleri nasıl beraber kullanabileceğinizi göstereceğim. Başlayalım.

Bu adreste windows için hazırlanmış php sürümleri bulunmakta. Non Thread Safe ve x64 olan son versiyonu zip olarak indirin. (Sunucunuzun mimarisine göre x86 da seçebilirsiniz)

Güncel PHP sürümleri Visual C++ Redistributable’a ihtiyaç duyarlar. İndirdiğimiz sürümün başlığında da yazdığı gibi VS16 gerekli. Aynı sayfanın sol tarafındaki linkleri kullanarak indirip, kurulumu yapın.

İndirdiğiniz zip dosyasını gerekli dizine çıkarın. Ben aşağıda gösterdiğim yere çıkardım.

Ortam değişkenlerine indirdiğiniz php klasörünün yolunu ekleyin.

PHP’nin olduğu klasör içinde php.ini-production isimli dosyayı php.ini olarak adlandıralım. Ardından php.ini dosyasını açıp en sona aşağıda belirttiğim satırları ekleyelim. Eklediğimiz bu satırlarda gerekli fastCGI ayarları var. Ayrıca en gerekli extensionlarıda aktif ediyor.

[WebPIChanges]
error_log = C:\Windows\temp\PHP806x64_errors.log
cgi.force_redirect = 0
cgi.fix_pathinfo = 1
fastcgi.impersonate = 1
fastcgi.logging = 0
max_execution_time=300
date.timezone = Europe/Istanbul
extension_dir = "C:\Program Files\PHP\v8.0.6\ext\"

[ExtensionList]
extension=php_mysqli.dll
extension=php_mbstring.dll
extension=php_gettext.dll
extension=php_curl.dll
extension=php_exif.dll
extension=php_openssl.dll
extension=php_soap.dll
extension=php_pdo_mysql.dll
extension=php_pdo_sqlite.dll
extension=php_imap.dll
extension=php_tidy.dll
extension=php_fileinfo.dll
extension=php_mysql.dll
extension=php_gd.dll

IIS Manager’da Handler Mappings’e gelin.

Sağ taraftaki Add Module Mapping seçeneğine tıklayın.

Aşağıda gösterdiğim şekilde giriş yapın.

Aşağıda gördüğünüz gibi yeni PHP sürümü eklenmiştir.

Son olarak Default Document bölümünden index.php dosyasını ekleyin. Ardından IIS’i restart edelim.

Bu aşamaya kadar geldiyseniz işlem tamamdır. Artık IIS’de PHP kullanımına hazırsınız. Fakat benim gibi aynı sunucuda birden fazla PHP sürümünü kullanıyorsanız yazının devamında bahsettiklerime dikkat etmeniz gerekli.

Aynı sunucuda farklı PHP sürümleri kullanmak

Öncelikle bunu yönetebilmek için PHP Manager’ı kurun. Kurulum sonrası IIS Manager da PHP Manager isminde bir feature eklendiğini göreceksiniz.

Detayına girin. Burada eklediğimiz PHP sürümünü otomatik tanıması gerekli. Eğer tanımıyor ise Register new PHP version diyerek php-cgi.exe dosyasını gösterin.

Artık farklı bir php sürümü yüklemek istersek, yazının en başında bahsettiğim adımları uygulayıp son aşamada PHP Manager’ı kontrol edip, tanımlı değil ise onada tanıtmamız yeterli.

PHP Manager’da dikkat etmeniz gereken sunucu bazında varsayılan bir php sürümü kullanılıyor. Bütün php siteler bu sürüme göre çalışıyor. Fakat ilgili sitenin üzerine gidip PHP Manager’a girerseniz, sadece o site için aşağıdaki resimde gösterdiğim gibi farklı bir sürüm seçebilirsiniz. Ben örneğin v5’i uyumluluk açısından varsayılan tutuyorum fakat wordpress sistemler için v8 kullanıyorum.

Son olarak…

Handler Mappings kısmından her yeni php sürümünü tanıttığınızda IIS’de varsayılan php sürümü o oluyor. İşlem sonrası tüm sitelerinizin doğru php sürümü ile çalıştığını kontrol etmenizi öneririm.

IIS ile ilgili diğer yazılarıma buradan bakabilirsiniz. Hoşçakalın.

Yazıyı Paylaş

Etiketler:

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir