PHP on Windows Muammer Benzeş
AJANDA PHP Community için Microsoft desteği Community katkıları SQL Server Driver for PHP IIS 7.0 ve PHP FastCGI IIS ile PHP’yi yükseltmek.NET ile PHP’yi genişletmek
Daha güçlü PHP deneyimi SQL Server PHP Driver SQL Server Driver for PHP, PHP uygulamalarının SQL Server üzerinde geliştirilmesi ve kullanılması için hazırlandı IIS7 ve FastCGI Windows üzerinde PHP uygulamalarında performans artışı Expression Web 2.0 PHP uygulama ve kod düzenleme için genişletilmiş araç desteği
Açık Kaynak Katılımları
SQL Server Driver for PHP SQL Server Driver for PHP, PHP geliştiricilerin SQL Server’a daha kolay ve iyi erişmelerini sağlar Güvenilir uygulama geliştirme Zengin veri tipleri ve güçlü yönetim araçları ile üretkenliği artırma İş zekası yeteneği daha güçlü uygulamalar
PHP Geliştirme Desteği PHP 5.2.5, FastCGI Intellisense, kod renklendirme ve kod parçacıkları Sistemde yüklü herhangi bir web browser ile PHP sayfalarını önizleme Ayrıntılı bilgi us/library/cc aspx
IIS 7.0 Avantajları Modüler mimari ile daha düşük atak yüzeyi XML tabanlı konfigürasyon sistemi Uzaktan yönetim Gelişmiş hata yönetimi WMS ve Media Pack ile entegrasyon Managed code ile IIS7’yi genişletebilme
Windows için PHP PHP 5.3 Windows için optimize edildi Windows platformu için performans ayarlaması POSIX çağrıları Win32 API’lere taşınıyor Windows ve FastCGI için özel birçok performans iyileştirmesi 60’dan fazla Windows’a özel hata giderildi IIS ve FastCGI ile maksimum performans için özel sürümler
IIS ve FastCGI PHP uygulamaları için sağlam platform Açık standart PHP ve birçok diğer açık kaynak framework destekleniyor (Perl, Python, …) ISAPI’ye göre PHP uygulamalarında istikrar CGI’ye göre Çok belirgin bir performans artışı
FastCGI Güvenilirliği Thread güvenliği Process isolation (İşlem izolasyonu) IIS application pool ile diğer application pool’ların hataları izole edilir Çoklu işlemler hataların uygulamaya etkisini azaltır Güvenilirlik özellikleri Timeout’lar (activityTimeout, requestTimeout) Periyodik işlem restart’ları (instanceMaxRequests) Hızlı hata koruması (rapidFailsPerMinute)
FastCGI Performansı Performans mimarisi Tekrar kullanılabilir işlemler (işlem oluşturma gereksinimlerini azaltır) Kapatılmayan bağlantılar IIS performans özelliklerini kullanma Output caching Sıkıştırma
PHP’yi IIS 7’de çalıştırma Kolay kurulum : FastCGI ve PHP kurulumu Uygulamanın geliştirilmesi Uyumluluk: 24 PHP uygulaması için doküman varwww.iis.net/php URL Rewrite özelliğinde mod_rewrite ayarlarını kolayca taşıma
Esneklik Esnek konfigürasyon Her sitede farklı PHP versiyonu ve/veya konfigürasyonu çalıştırabilme Herhangi bir web sitesi, uygulama (application) veya sanal klasörde PHP çalıştırabilme Her sitede PHP uygulamasını farklı framework’ler ile çalıştırabilme (ASP, ASP.NET, …) Güçlü dağıtım (deployment) İçerik için istenilen güvenlik modelinin ve erişim yetkilerinin ayarlanması PHP uygulamalarının ve ilgili IIS 7.0 ayarlarının merkezi uzak lokasyonda tutulabilmesi
Geliştirme PHP uygulamaları çoğunlukla Windows üzerinde geliştiriliyor Basitleştirilmiş geliştirme ortamı Aynı makinede geliştirme ve test etme Aynı ortamda yayınlama Tek konfigürasyon ile yönetim x-copy ile hızlı ve basit bir şekilde yayınlama PHP uygulamalarını aynı ortam içinde yayınlama
Hosting Sunucu birleştirme PHP uygulamalarını ASP, ASP.NET ve diğer Windows uygulamaları ile aynı sunucu üzerinde yayınlama Tek bir ortamı yönetme Daha az sunucu Tek araç seti ile sunucu ve uygulamaları yönetme IIS 7.0’ın güçlü yönetim araçları IIS Manager, Powershell vb. Yönetim yetkilendirmeleri ve sunucu ayarlarının x-copy ile taşınabilmesi, merkezi ayarlar Uzak yönetim (Server Core’da da var)
Yenilik IIS 7.0, PHP uygulamaları için birçok zengin özellik sunuyor Öne çıkan IIS özellikleri Güçlendirilmiş güvenlik, erişim kontrolü Performans artışı Medya özellikleri ekleme ASP.NET integrated pipeline özelliği ile PHP uygulamalarını genişletme ASP.NET uygulama servisleri ekleme.NET framework kullanarak PHP uygulamalarını genişletme
Güvenli IIS 7.0’de güvenlik Server Core ve IIS 7.0’ın modüler yapısı ile azaltılmış saldırıyı yüzeyi PHP uygulama güvenliğini artırma IIS Application pool ile izolasyon İstek filtreleme (Request filtering) Erişim kontrol uygulamaları Esnek kimlik denetimi şemaları IP ve domain bazlı kısıtlamalar
Performans artışı IIS performans özellikleri Output Caching : Uygulama performansını artırmak için en iyi yol Sıkıştırma : Bant genişliği maliyetlerini düşürme, network downtime’ı azaltma Bitrate throttling: Medya yayınlarında gereksiz bandwith kullanımını düşürme Dosya tiplerinde bandwith sınırlama imkanı
Genişletme IIS 7.0 genişleyebilirlik sağlar ASP.NET servisleri tüm uygulama türleriyle kullanılabilir.NET servislerini genişletmek için tüm uygulama framework’leri kullanılabilir PHP uygulamaları.NET framework ile bütünleştirilebilir Web sunucusu.NET ile hızlıca genişletilebilir Bir tek.NET servisleri seti sunucu üzerindeki tüm uygulamalarda kullanılabilir (PHP, ASP, ASP.NET, …)
Özet IIS 7.0, PHP uygulamaları için kusursuz bir platform Güvenilir Yüksek performans Uyumlu IIS 7.0 üzerinde PHP çalıştırarak Geliştirme, test ve yayınlama tek platformda Sunucu azaltılması ve daha kolay yönetim IIS 7.0, PHP uygulamaları için zengin özellikler sunar
Bundan sonrası... Microsoft, PHP’yi Windows üzerinde ileri götürmek için odaklandı Community: iis.net’te PHP forumları: Community projelerine destek ADOdb Phprojekt Webcalendar AdvancedPoll Tutos
Teşekkürler… Muammer Benzeş