Padrões de Projeto e Boas Práticas em PHP - PHP Conference Brasil 2010
PHP em Windows
description
Transcript of PHP em Windows
PHP em WIndows• Porque PHP ?• História• FastCGI• IIS 7• Instalação Manual• Instalação
Automatizada• Caso real
Porque PHP ?
Parte I
Porque PHP ?Aprendizagem
rápida
RAD (Rapid Application Development)
Custos reduzidos (Shared Hosting)
Enorme comunidade e fontes de recursos
Aplicações DocumentaçãoFerramentas
Fácil de entender
Vantagens PHP + Windows
Suporte para diferentes versões
de PHPInstalação simples e unificada
para diversos cenáriosPHP / .NET
Core do PHP redesenhado com intervenção da Microsoft.Parceria Microsoft / Zend
Suporte nativo para SQL Server
Possibilidade de escolha
Apache / IIS
Performance e estabilidade
História
Parte II
HistóriaAntes
80% dos programadores PHP desenvolviam em
Windows
ISAPIInstabilidade
Muito poucosusavam Windows/IIS para ambientes de
produção.
CGI Estável mas
pouco performant
Poucas funcionalidade
s úteis
HistóriaAgora
Windows Server 2008 / IIS 7 Excelente plataforma para PHP
Estabilidade e performance
Facilidade de instalação, configuração e manutenção.
Principais mudançasParceria Microsoft / Zend
PHP Core optimizado para Windows FactCGI (IIS 6 e 7)
Compatibilidade
Tornar Windows/IIS cada vez mais uma excelente plataforma para PHP
IIS URL Rewriter (compatibilidade com
mod_rewrite)MSSQL driver para PHP
FastCGI
Parte III
FastCGIPlataforma bastante sólida
para PHP
Padrão aberto Suporte para diversos frameworks
vs ISAPIEstabilidade para aplicações PHP non-thread-
safe
vs CGIDesempenho muito melhorado
CGI vs FastCGICGI em Windows
Extremamente lento e instável A cada pedido (request), é iniciado um novo processo
FastCGIReutiliza o mesmo
processo
PHP ISAPINão recomendado
PHP 5.3 sem suporte
Execução single-threaded Non-Thread Safe
CGI vs FastCGI
Extraído de: http://blogs.iis.net
Performance
CGI FastCGI
CGI vs FastCGI
Extraído de: http://ruslany.net
FastCGI
FastCGI 1.5Novas características
Auto-tuning de maxInstances para optimização de
performanceReciclagem automática dos
processos
Deixa de ser necessário restart ao alterar o php.ini 100% Suportado pela Microsoft
Versões IIS
7.5 em WinServer 2008 R2Tudo incluido (Suporte nativo)
7.0 em WinServer 2008 Precisa de update
(http://www.iis.net/expand/FastCGI)
IIS 7
Parte IV
IIS 7 – Novas Características
Interface de gestão unificado
PHP ASP.NET Outros Frameworks
Gestão remota XML config Diagnósticos
Avançados
Arquitetura Modular FastCGI Integração
WMS
Instalação Manual
Parte V
Instalação manualDownload PHP
http://www.php.net/downloads.php
Configurar Handler Mapping no IIS para FastCGI
Configurar PHP.INIFastcgi.impersonate = 1
Cgi.fix_pathinfo = 1Cgi.force_redirect = 0Extension_dir = “./ext”
Configurar IIS Virtual Directory
DemoInstalação Manual
Instalação manual
Configurar Handler Mapping no IIS para FastCGI
Instalação manual
Instalação manual
Configurar PHP.INIFastcgi.impersonate = 1
Cgi.fix_pathinfo = 1Cgi.force_redirect = 0Extension_dir = “./ext”
Instalação manualConfigurar PHP.INI
Fastcgi.impersonate = 1Cgi.fix_pathinfo = 1
Cgi.force_redirect = 0Extension_dir = “./ext”
Instalação manual
Configurar IIS Virtual Directory
Teste PHP
Instalação manual
Instalação Automatizada
Parte VI
Instalação automatizadaMicrosoft Web Platform
Installer
Wizards simples Criar / Alterar WebServers
Free Download
Up to Date
PHP e Drivers SQL Server Windows Cache Extensions
Instalação automatizada
http://www.microsoft.com/webWhat’s New ? Web Platform Web Applications
Instalação automatizada
Web Platform
Instalação automatizada
Instalação automatizada
Web Applications
Instalação automatizada
Conclusão• PHP+Windows• Possibilidade de
Escolha• WISP, WIMP, WASP,
WAMP• No more LAMP
• Caso Real• GID
Q & A
A sua opinião é importante!Complete o questionário de avaliação e devolva-o à saida.