Kategoriler
IIS Web Server

Windows Server – IIS ÜZERINE CGI Modunda PHP Kurulumu Part 1

Geçtiğimiz bir kaç yıl içinde Windows sunucularda apache vasıtasıyla olsa dahi, PHP kurulumunu gerçekleştiren arkadaşlarımıza imrenerek bakardık.
Dünden bugüne çok şey değişti. Artık PHP teknolojisinde bir çok ilerleme kaydedildi.

Windows üzerinde PHP kendi kurulum dosyasıyla gelmekte, herşey hemen hemen otomatik gerçekleşmektedir.
Fakat benim gibi default kurulumlara güvenmeden kendi sistem ayarlarını oluşturmak isteyen insanlar, işlemler nekadar kolaylaştırılırsa kolaylaştırılsın bütün sistemlerini kendileri manuel olarak ayarlamak isteyeceklerdir.
Önce PHP nedir ona bir bakalım.
PHP’ nin en önemli özelliği açık kaynak lisansı ile dağıtılmasıdır. Bunun anlamı PHP’ yi internetten ya da arkadaşınızdan rahatlıkla temin edebilirsiniz. Bir yasal yükümlülüğü yok.
PHP HTML içine gömülü olarak yazılan bir dildir.
Diğer script dilleri (ASP,CFM) gibi sunucu taraflıdır.
PHP öğrenimi eğer “C” ya da “javascript” gibi dillerden herhangi birine aşinalığınız var ise, çok da zor olmayacaktır.
Öncelikle PHP zip dosyasını
buradan
temin etmeniz gerekmektedir.

PHP’nin İİS üzerine “FastCGI” olarak kurulabilmesi için,
“Non-Thread Safe” sürümünün indirilmesi gerekmektedir.

İndirdiğiniz dosyayı c:\PHP klasorune açmakla işe başlayabilirsiniz.
İlk olarak, PHP klasoru altında yer alan “php.ini-production” dosyasını gerekli ayarları yaptıktan sonra “php.ini” olarak kaydetmeliyiz.

PHP.ini Ayarlari

PHP bu dosyadaki ilk karakterinde “;” işareti bulunmayan her satırı kod olarak işleyecektir.
php’nin CGİ modunda çalışabilmesi için, fastcgi.impersonate=0 değerini “1” ile değiştiriyoruz.
fastcgi.impersonate=1
yazılımın eklentiler klasörünü algılaması için:
extension_dir = “C:PHPext”

Eğer oluşturacağımız yapıda wordpress gibi içerik yönetim sistemleri çalıştırmayı amaçlıyor isek, PHP’nin bazı eklentilerini etkin duruma getirmemiz lazım. bunun için aşağıdaki satırları php.ini dosyasında arayıp “;” işaretini kaldıracağız.

  • extension=ldap
  • extension=curl
  • extension=ffi
  • extension=ftp
  • extension=fileinfo
  • extension=gd
  • extension=gettext
  • extension=gmp
  • extension=intl
  • extension=mysqli
  • extension=openssl
  • extension=zip

error_reporting: PHP içinde bir hata oluştuğunda bu hatanın ekranda raporlama şekli php.ini dosyası içindeki bu parametre ile belirlenir. Güvenlik açısından, internet üzerinde yer alan bir sunucunun hata raporlaması kısıtlı olmalıdır. Program içinde kullanılan değişken isimlerinin raporlanması istenmeyen sonuçlara neden olabilir.
Alabileceği parametreler şunlardır.

  • 1: Normal Hatalar
  • 2: Normal Uyarılar
  • 8: Kritik olmayan uyarılar

html_errors : Hata kodları içinde yer alan HTML etiketlerini kapatır.
include_path: fopen_with_path() komutunun tarayacağı klasörü belirtir. (.)Nokta geçerli klasör manasındadır.
memory_limit: Bir php uygulamasının kullanabileceği maksimum belleği belirtir. eğer paylaşılan hosting değil de kendi sunucunuz üzerinde PHP çalıştıracaksanız, bu değeri 256 yapmanızda yarar vardır. Genelde paylaşılan servislerde PHP.ini dosyasına erişim izni verilmez.
upload_tmp_dir : Upload yapılırken kullanılacak temp klasorunun ismidir.
upload_max_filesize:Upload edilecek dosyanın maximum boyutunu belirtir.
safe_mode: PHP’ nin güvenli modda çalışıp çalışmayacağını belirtir.
True ya da False değeri alır.
PHP zaman dilimini ayarlamak ve genelde yurt dışından temin edilen sunucularda tarih sorunlarını engellemek için ise, “date.timezone =” satırına yaşadığımız ülkenin zaman dilimine uygun kodu ilave etmemiz gerekiyor.
Örneğin İran zaman dilimi için:
date.timezone = “Asia/Tehran”
Türkiye zaman dilimi için ise,
date.timezone =”Europe/Istanbul”
Dosyamızda gerekli değişikleri yaptıktan sonra, zip dosyasını açtığımız dizene (önerilen dizen “C:\PHP” olmalıdır) kopyalıyoruz.

PHP.ini dosyasında değiştirebileceğiniz – çalışma ortamınız için özelleştirebileceğiniz bir çok ayar bulunur.
Ben bu yazıda PHP’nin windows tabanlı sunucularda WordPress’i düzgün ve sorunsuz bir şekilde çalıştırabilmesi için gerekli olan ayarlardan bahsetmeye çalıştım.

Bir sonraki yazımızda, Microsoftun Windows Server datacenter işletim sistemi için geliştirdiği ve zaman içerisinde çeşitli işlevler kazandırdığı ücretsiz İİS WebServer üzerine “FastCGI” modunda PHP kurulumu gerçekleştirmeye çalışacağız…

Farsça