Muammer Benzeş

"Duyduklarım, gördüklerim, bildiklerim..."

NAVIGATION - SEARCH

PHP on Windows - Bölüm 3 : Windows üzerinde daha etkin PHP

IIS 7.0 . IIS 7.5 . PHP . PHP on Windows . Windows Server 2008 . Windows Server 2008 R2

PHP On Windows - Bölüm 1 : FastCGI ve PHP on Windows - Bölüm 2 : IIS 7.0 başlıkları ile yayınladığım PHP on Windows başlıklı serinin üçüncü bölümünü aşağıda okuyabilirsiniz :

IIS 7.0 ile ASP, .NET ve PHP uygulamaları aynı sunucu üzerinde çalışabilmekte, hatta aynı uygulama içerisinde aynı anda kullanılabilmektedir. PHP ve .NET aynı uygulama içerisinde session ve yetkilendirmelerini paylaşarak uygulamanın bir kısmının .NET bir kısmının da PHP olarak yazılabilmesi mümkün olmaktadır.

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 sunularak farklı ihtiyaçları olan birden çok uygulama aynı sunucuda çalıştırılabilmektedir. 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ılabilmekte, bir uygulamada oluşan bir hatanın diğer uygulamaları etkilemesi önlenmektedir.

FastCGI’ın en önemli özelliklerinden olan işlemlerin her talepte yeniden oluşturulmadan tekrar kullanılması ve bağlantıların açık tutulması ile performans artışı sağlanmaktadır. 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ılabilmektedir.

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ğlanabilmektedir. PHP uygulamasında htaccess dosyasında yer alan kurallar kolayca URL Rewrite modülüne aktarılabilmektedir. 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ılabilmektedir.

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 uygulamanın çalışması mümkün olmaktadır. Böylece yazılım geliştiricinin iş yükü azalmakta, aynı sunucu ortamının kullanılmasıyla yönetimsel işlerin ve sunucu sayılarının azalması sağlanabilmektedir.

"PHP On Windows : Bir PHP Sitesinin IIS 7 Üzerinde Yayınlanması" webineri kaydı

IIS 7.5 . PHP . PHP on Windows . Windows Server 2008 . Windows Server 2008 R2

Hosting Web Serisi kapsamında 6 Kasım'da gerçekleştirdiğim PHP On Windows : Bir PHP Uygulamasının IIS 7 Üzerinde Yayınlanması başlıklı web seminerinin kaydını aşağıda izleyebilirsiniz.

Bu webinerdeki konu başlıklarımız ise şunlar :

  • PHP on Windows
  • FastCGI Avantajları
  • PHP 5.2 - 5.3 Farkları
  • Demo : PHP site yayınlama - Yöntem 1
  • Demo : PHP site yayınlama - Yöntem 2
  • Gerekli Ayarlar
  • PHP Manager for IIS 7

Webinerde kullandığım sunum dosyasına aşağıdaki linkten ulaşabilirsiniz :

IIS-PHPonWindows-PHPSiteYayinlama.pptx (197,05 kb)

PHP on Windows - Bölüm 2 : IIS 7.0

IIS 7.0 . IIS 7.5 . PHP . PHP on Windows . Windows Server 2008 . Windows Server 2008 R2

2009 yılı içerisinde yazmış olduğum ve ComputerWorld gibi dergilerde yayınlanmış olan PHP On Windows başlıklı yazının ilk bölümünü PHP On Windows - Bölüm 1 : FastCGI başlığı ile yayınlamıştım. İkinci bölümü aşağıda okuyabilirsiniz :

Web teknolojileri tüm organizasyonlarda her geçen gün daha çok ön plana çıkmaktadır. Ülkemizde de ADSL gibi geniş bant erişim teknolojilerinin yaygınlaşmasıyla beraber evlerde ve özellikle işyerlerinin çoğunluğunda Internet erişimi olmayan bilgisayar neredeyse kalmamıştır. Internet hızlarının ve kullanıcı sayısının artmasıyla dünya genelinde yaygın olan Internet üzerinden iş yapma modelleri de kullanılmaya başlanmış; şirketler müşterilerine daha kolay erişebilmek için web sitesi sahibi olmaya başlamış, gerek iş ortaklarıyla aralarındaki alışveriş için (b2b) gerekse de son kullanıcıya satış yapabilmek için (b2c) e-ticaret uygulamalarını devreye almışlardır. Her geçen gün de yeni teknolojiler (Web 2.0 gibi) ile bu uygulamalar gelişmeye devam etmektedir.

Tüm bu uygulamaların yapılabilmesi için bir web sunucusuna ihtiyaç duyulmaktadır. Bu web sunucusu ihtiyacı organizasyon yapısı ve ihtiyaca göre değişik şekillerde çözülmektedir (web hosting 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 almaktadır. IIS 5.0 ve 6.0, halihazırda dünya genelinde ve ülkemizde yoğun bir şekilde kullanılmaktadır. IIS 7.0, önceki versiyonların yakaladığı bu başarıyı esnek, güçlü ve kararlı yapısı ile 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üklenmektedir. Kullanım amacına ve ihtiyaca göre 40’dan fazla bileşeni ayrı ayrı kurulabilmekte ve kaldırılabilmektedir. Böylece gereksiz bileşenlerin sistem üzerinde yük oluşturması engellenmekte, bu bileşenler ile ilgili yönetim ve güvenlik işlemlerinin azaltılması sağlanmaktadır.

Oldukça 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ğlamaktadır. 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.

Yandex.Metrica