IIS 7 Uzerinde FastCGI – PHP Kurulumu

Merhaba arkadaşlar, yazımızda IIS 7 ile birlikte gelen PHP desteğinin nasıl kullanıldığından bahsedeceğiz. Bildiğiniz gibi IIS 6’da da PHP cgi olarak sorunsuz çalışabiliyordu. IIS 7’de ise FastCgiModule kullanıldığından dolayı bir takım performans sorunlarının önüne geçmiş oluyoruz. Gerçi Microsoft IIS 6’da da bir FastCgiModule eklentisi sundu. Fakat biz hem .net uygulamaları hem de PHP uygulamaları açısından daha iyi olduğu için IIS 7’de ki kurulumunu göreceğiz.

İlk olarak eğer IIS 7’ye cgi eklentisini kuralım.

 

Server manager’ı açtıktan sonra add role services’e tıklayarak cgı’yı seçelim.

next ve install diyerek kurulumu başlatalım.

 

Daha sonra PHP’yi indirelim. www.php.net/downloads.php

 

Burada dikkat edilmesi gereken nokta PHP’nin Non-thread-safe paketini indirmek.

 

Kuruluma geçelim.

 

İstediğiniz her hangi bir dizine kurabilirsiniz. Ben C:PHP dizisine kuracağım.

 

IIS FastCGI’ı seçerek geçiyoruz.

 

Eğer daha sonra Phpmyadmin’i kullanmayacaksanız her hangi bir Extensions yüklemenize gerek yok.

 

Eğer Phpmyadmin’i kullanacaksanız

GD2

Multı-Byte String

Mcrypt

MySQL

Extensions larını seçmemiz gerekiyor.

 

Kurulumu tamamlıyoruz.

 

Daha sonra PHP’nin IIS 7 ile birlikte çalışabilmesi için kurulum dizinindeki php.ini dosyasını açıp içerisinde bazı düzenlemeler yapmamız gerekiyor.

 

İlk olarak fastcgi.impersonate satırının başındaki ; işaretini kaldırıp değerini 1 olarak atayacağız.

fastcgi.impersonate =1

 

Biraz yukarıdaki cgi.fix_pathinfo satırının da başındaki ; işaretini silerek değerini  1 yapıyoruz.

 

Php dosyalarının çalışacağı yeri göstermemiz gerekiyor.  open_basedir satırını bularak yine başındaki; işaretini silerek değerini C:inetpub olarak değiştiriyoruz.

 

Son olarak cgi.force_redirect satırını bulmamız gerekiyor. Fakat dosya içerisinde bu kelime birkaç tane olduğundan resme bakarak kontrol edin.  Yine başındaki ; işaretini sildikten sonra değerini 0 yapıyoruz. Böylelikle cgi IIS’in üzerindeki güvenlik yönergelerini kullanarak çalışacaktır.

 

 

Dosyayı aynı dizine php.ini adıyla kaydedin.

 

Şimdi IIS Manager’ı açıp Handler Mappings’e tıkladıktan sonra

Add Module Mapping diyelim.

Request path: *.php

Module: FastCgiModule

Executable(optional): C:PHPphp-cgi.exe

Name: FastCGI PHP Module

 

 

Yes diyerek module ekleyelim.

 

Şimdi php uzantılı bir dosya oluşturarak çalışıp çalışmadığını kontrol edelim.

 

Notepad açarak    <?php phpinfo(); ?>   yazdıktan sonra C:inetpubwwwroot dizinine info.php adıyla kaydedelim.

 

Son olarak http://localhost/info.php

Eğer tüm adımlar eksiksiz yaptıysanız hatasız çalışacaktır.

Böylelikle hosting firmamızda yüksek performanslı olarak tek server üzerinde php ve asp uygulamaları yayınlayabiliriz.

Eğer php uygulamalarında hatayla karşılaşıyorsanız, büyük ihtimalle sorun kodlardadır.

Exit mobile version