arkadaşım bir site kuracaksan php sitesi kuracan sana php ile ilğili bilgileri aşağıda verdim
Microsoft, Windows üzerinde PHP uygulamaları ile yazılımcılara etkin, hızlı ve güvenilir bir platform sunuyor
Bundan önceki IIS sürümlerinde de CGI veya ISAPI olarak PHP uygulamalarını çalıştırmak mümkündü. Ancak yazılım geliştiriciler ve web yayıncıları (servis sağlayıcılar) tarafından, hem alışılagelen bir yöntem olmadığı, hem de bu şekilde çalıştırılan PHP uygulamalarında,performans anlamında bir artış yaşanmadığının düşünülmesi gerekçesiyle çoğunlukla Linux üzerinde çalıştırmak tercih edilmekteydi.
Ancak, Windows Server 2008 içerisinde yer alan IIS 7.0 ile birlikte artık bu önyargı ortadan kalkıyor. IIS 7.0, PHP’yi daha etkin, hızlı ve istikrarlı çalıştırabilmek için yeni özellikler ve optimizasyonlar içermektedir. Kuşkusuz bu özelliklerden en önemlisi FastCGI standardının eklenmesidir. FastCGI, istek (request) başına işlem oluşturma/yok etme adımlarını, pooling ve çoklu çalışma proseslerini (işlemlerini) tekrar kullanarak düşürmektedir. Böylece PHP uygulamalarının Windows üzerinde çalışmasında önemli performans iyileşmesi sağlanmaktadır.
Microsoft, açık kaynak kodlu sistemlerin ve uygulamaların Windows platformunda çalışmasının önemli olduğunu düşünmekte ve bunun için çalışmalar yürütüyor. Özellikle de dünya üzerindeki milyonlarca PHP yazılım geliştiricinin çoğunun uygulamalarını Windows üzerinde geliştirdiği göz önüne alındığında kararın önemi daha iyi anlaşılıyor. (www.php-editors.com sitesinde yer alan PHP editörlerden 49 tanesinin Windows versiyonu bulunmaktadır).
2006 yılının başlarından beri Microsoft, Windows platformunu PHP için daha iyi duruma getirmek için çalışıyor. Microsoft bu amaçla, önde gelen PHP firmalarından Zend (www.zend.com) ile Windows üzerindeki PHP performansını geliştirebilmek için ortak çalışmalar yürütüyor. Bu çalışmaların ilk meyvesi de yukarıda bahsettiğimiz gibi FastCGI’ın IIS 7.0’a eklenmesi oldu.
Bu noktada kısaca FastCGI’a göz atmak faydalı olacaktır. FastCGI; platform ve dil bağımsız, açık kaynaklı bir extension olarak 1996 yılından beri geliştirilmektedir. Bu şekilde, sunucu sistemlerin özel API’lerine göre çok daha fazla performans sağlanabiliyor. Microsoft ve Zend işbirliği neticesinde, Windows Server 2008’in Beta 3 versiyonundan itibaren IIS 7.0 da yer alıyor. Beta aşamasındaki bu ekleme sonrasında yapılan ilk testlerde bile %40’ın üzerinde performans iyileştirmeleri görülmüş ve geliştirilmeye devam edilmiştir.
Not 1 : Windows Vista’da yeralan IIS 7.0, FastCGI desteği içermemektedir. Service Pack 1 (SP1) ile birlikte FastCGI desteği Vista’ya da eklenmiştir.
Not 2 : FastCGI desteği Windows Server 2003 / IIS 6.0 için de sunulmaktadır. http://www.iis.net/extensions/FastCGI adresinden indirilip IIS 6.0 üzerine extension olarak eklenebilmektedir.
IIS 7.0
Web teknolojileri tüm organizasyonlarda her geçen gün daha çok ön plana çıkıyorlar. Ülkemizde de ADSL gibi geniş bant erişim teknolojilerinin yaygınlaşmasıyla beraber evlerde ve özellikle işyerlerinin çoğunluğunda İnternet erişimi olmayan bilgisayar artık neredeyse kalmadı. İnternet hızlarının ve kullanıcı sayısının artmasıyla dünya genelinde yaygın olan İnternet üzerinden iş yapma modelleri de daha fazla kullanılmaya başlandı. Şirketler müşterilerine daha kolay erişebilmek için web sitesi sahibi olurken, gerek iş ortaklarıyla aralarındaki alışveriş (b2b) gerekse de son kullanıcıya satış yapabilmek için (b2c) e-ticaret uygulamalarını devreye aldılar. Web 2.0 gibi yeni teknolojilerle bu uygulamalar her geçen gün gelişmeye devam ediyor.
Tüm bu uygulamaların yapılabilmesi için bir web sunucusuna ihtiyaç duyulmaktadır. Bu web sunucusu ihtiyacı, organizasyon yapısına ve ihtiyaca bağlı olarak değişik şekillerde çözülmektedir (web barındırma hizmeti, kiralık sunucu veya şirket bünyesinde özel sunucu barındırma gibi).
IIS 7.0, web sunucusu olarak Windows Server 2008 işletim sistemi içerisinde yer alıyor. IIS 5.0 ve 6.0, halihazırda dünya genelinde ve ülkemizde yoğun bir şekilde kullanılıyor. IIS 7.0, esnek, güçlü ve kararlı yapısı ile, önceki versiyonların yakaladığı bu başarıyı daha da ileriye taşıyacaktır.
IIS 7.0, Windows Server 2008 kurulumu sırasında varsayılan olarak kurulmamaktadır. Windows Server 2008 üzerinde yer alan 17’den fazla sunucu rolünden biridir ve ihtiyaç duyulduğunda yüklenebilmektedir.
IIS 7.0, varsayılan ayarlarıyla IIS 6.0’da olduğu gibi tüm bileşenleri ile değil sadece statik (HTML) sayfaları gösterecek şekilde yükleniyor. Kullanım amacına ve ihtiyaca göre 40’dan fazla bileşeni ayrı ayrı kurulabiliyor ve kaldırılabiliyor. Böylece gereksiz bileşenlerin sistem üzerinde yük oluşturması engellenirken, bu bileşenler ile ilgili yönetim ve güvenlik işlemlerinin azaltılması sağlanıyor.
IIS 7.0, hayli sağlam, güvenilir ve hızlı olan IIS 6.0 versiyonuna göre anlık istek, trafik ve bağlantı miktarları, performans ve sunucu başına uygulama yoğunluğunda artış sağlıyor. Tüm uygulama türleri (ASP, .NET, PHP vs.) için dinamik sıkıştırma ve caching desteği, detaylı hata mesajları, sunucuya gelen anlık isteklerin takibi, hata işlem takibi ve uzak yönetim gibi özellikleriyle de ön plana çıkmaktadır. Ayrıca FastCGI ile PHP uygulamalarının daha hızlı ve kararlı çalıştırılabilmesiyle başka bir sunucu ihtiyacını ortadan kaldırmaktadır.
IIS 7.0; metadata yerine XML dosyaları ile konfigürasyon, Powershell ve IIS 7.0 için oluşturulan Microsoft.Web.Administration kütüphanesi ile sunucunun komut satırından ve hazırlanacak . NET uygulaması ile daha kolay yönetilebilmesine olanak sağlamaktadır.
Windows üzerinde daha etkin PHP
IIS 7.0 ile ASP, .NET ve PHP uygulamaları aynı sunucu üzerinde çalışabiliyor, hatta aynı uygulama içerisinde aynı anda kullanılabiliyor. PHP ve .NET aynı uygulama içerisinde session ve yetkilendirmelerini paylaşılabiliyor. Böylece uygulamanın bir kısmının .NET bir kısmının da PHP olarak yazılabilmesi mümkün olabiliyor.
FastCGI ile aynı web sunucusu üzerinde birden çok PHP versiyonu (PHP 4 ve 5) ve bunların ayrı ayrı konfigürasyonları çalıştırılarak uygulamaların ihtiyaçlarına uygun çözümler sunulabilirken, farklı ihtiyaçları olan birden çok uygulama aynı sunucuda çalıştırılabiliyor. Uygulamalar ayrı ayrı uygulama havuzlarına (application pool) alınarak sunucu üzerinde oluşturabileceği işlemci, hafıza, bağlantı sayısı için sınırlamalar yapılabiliyor. Bu şekilde, bir uygulamada oluşan hatanın diğer uygulamaları etkilemesi önlenmektedir.
FastCGI’ın en önemli özelliklerinden olan işlemlerin her talepte yeniden oluşturulmadan tekrar kullanılabilmesi ve bağlantıların açık tutulabilmesi sayesinde performans artışı sağlanıyor. Ayrıca IIS 7.0’ın dinamik sıkıştırma ve caching özellikleri PHP uygulamalarında da kullanılarak performans artışı daha üst seviyelere çıkartılabiliyor.
Apache’de varolan mod_rewrite özelliği, IIS 7.0’da URL Rewrite modülü (http://www.iis.net/extensions/URLRewrite) ile PHP uygulamaları için de sağlanabiliyor. PHP uygulamasında htaccess dosyasında yer alan kurallar kolayca URL Rewrite modülüne aktarılabiliyor. Ayrıca erişim kontrolü ve güvenlik ayarları da (IP, domain kısıtlaması, istek filtreleme vb.) detaylı olarak IIS 7.0 üzerinden yapılabiliyor.
Resim4
PHP uygulamalarının çoğunlukla Windows üzerinde geliştirilip yayınlanma aşamasında Linux ortamına taşındığından bahsetmiştik. IIS 7.0, uygulama ile ilgili ayarları sitenin ana klasöründe web.config dosyasında tutmaktadır. Bu dosya PHP’de dahil tüm uygulama türleri için geçerlidir. Böylece yazılım geliştirici kendi bilgisayarı üzerinde uygulama geliştirmesini ve ayarlarını yapıp dosyaları IIS 7.0 sunucusuna gönderdiğinde, ayrıca ayarlar ile uğraşmasına gerek kalmadan uygulama çalışıyor. Aynı sunucu ortamının kullanılmasıyla yazılım geliştiricinin iş yükü ile birlikte, yönetimsel işler ve sunucu sayıları da azalmaktadır.
Sonuç
Windows Server 2008 ve IIS 7.0 kullanımı dünyada ve ülkemizde giderek artıyor. Dünyadaki barındırma hizmeti veren firmalardan (myhosting, godaddy, hostbasket vs.) gelen IIS 7.0’a geçiş haberlerinin yanında ülkemizdeki barındırma hizmeti veren şirketlerden de benzer haberler geliyor. Barındırma hizmeti veren firmalar ile yaptığımız görüşme ve ortak çalışmalar sonucunda sadece ASP ve .NET uygulamalarını değil, PHP uygulamalarını da IIS 7.0 üzerinde çalıştırma kararlarının alındığını görüyorum.
Çok sayıda Windows Server 2000 ve Windows Server 2003 sunucu yönetmiş biri olarak Windows Server 2008’i daha fazla beğendiğimi ve mümkün olduğunca geçmeye çalıştığımı söyleyebilirim. Sunucu işlemlerinin hepsini bir yerden (Server Manager) kolay ve hızlıca yapmak mümkün. Özellikle IIS Manager’ın kullanımı öncekilere göre çok daha kolay. Üç bölümlü yapısını daha önce farklı Microsoft uygulamalarında (ISA Server gibi) kullandığım için alışmakta zorlanmadım, onunla çalışmaktan keyif alıyorum. Uzak yönetim desteği sayesinde kontrol panele gerek kalmadan, uzak masaüstü bağlantısı yapmadan kendi bilgisayarınızdan sistemi yönetebilmek kolaylık getiriyor. Hatta birden çok sunucuyu tanıtarak çok daha hızlı yönetim yapabilmek de mümkün. Tek sevmediğim yanı herhangi bir işlem için bir başlığa tıkladıktan sonra geri dönmek için sol taraftaki ilgili kısma tıklamak, ama o kadar kusur da olur 
Bireysel olarak yaptığım testler ve barındırma hizmeti veren firmalar ile gerçekleştirdiğimiz çalışmalar sonucunda PHP de dahil olmak üzere, tüm uygulama türlerini kurmak ve yönetmenin çok daha kolay olduğunu söyleyebilirim. Bir PHP uygulaması çalıştırmak için IIS bileşenlerinden FastCGI’ı kurmak, ilgili PHP versiyonunu kurmak ve PHP uzantısı için gerekli ayarları yapmak yeterli. Bu işlemleri yapmak sunucunuzun konfigürasyonuna göre 5 ila 10 dakika sürüyor. Sonrasında PHP uygulamanızı dünyanın beğenisine sunabilirsiniz.
Microsoft, Windows üzerinde PHP konusunda çalışmalarına devam ediyor. Yıl sonu gibi piyasaya çıkması beklenen Windows Server 2008 R2 versiyonunda FastCGI ve PHP ile ilgili geliştirmeler olacak. Geçtiğimiz yıl yayınlanan SQL Server Driver for PHP ile, PHP uygulamalarında SQL Server’a daha kolay, hızlı ve güvenli bir şekilde ulaşılabilir. Ayrıca bu uygulamanın kaynak kodunu Codeplex’ten (http://www.codeplex.com/SQL2K5PHP) indirerek kendinize uygun hale getirmeniz de mümkün. Bir başka Microsoft yeniliği olan Web Application Installer’ın 2.0 versiyonu ile (http://www.microsoft.com/web/) Wordpress, Drupal, Gallery gibi uygulamaları kolayca kurmak mümkün. Bu uygulamalara yenileri de eklenmeye devam ediyor.
Windows üzerinde PHP ile ilgili ayrıntılı bilgileri www.iis.net/php adresinde bulmanız mümkün. Bende elimden geldiğince blogumdan (www.muammerbenzes.com) ve seminerler aracılığıyla bilgi paylaşmaya çalışıyorum.