380 likes | 455 Views
WUX202. Nuno Nóbrega Batista. Adminsaude Nuno.batista@adminsaude.com. 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 ?. Fácil de entender. Aprendizagem rápida.
E N D
WUX202 Nuno Nóbrega Batista Adminsaude Nuno.batista@adminsaude.com 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 ? Fácil de entender Aprendizagem rápida RAD (Rapid Application Development) Custos reduzidos (Shared Hosting) Enorme comunidade e fontes de recursos • Aplicações • Ferramentas • Documentação
Vantagens PHP + Windows Possibilidade de escolha Apache / IIS Suporte para diferentes versões de PHP Instalação simples e unificada para diversos cenários PHP / .NET Core do PHP redesenhado com intervenção da Microsoft. Parceria Microsoft / Zend Suporte nativo para SQL Server Performance e estabilidade
História Parte II
História Antes • 80% dos programadores PHP desenvolviam em Windows • Muito poucos • usavam Windows/IIS para ambientes de produção. • ISAPI • Instabilidade • CGI • Estável mas pouco performant • Poucas funcionalidades úteis
História Agora • Windows Server 2008 / IIS 7 • Excelente plataforma para PHP • Estabilidade e performance • Facilidade de instalação, configuração e manutenção.
Principais mudanças Parceria 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
FastCGI Plataforma bastante sólida para PHP • Padrão aberto • Suporte para diversos frameworks vs ISAPI • Estabilidade para aplicações PHP non-thread-safe vs CGI • Desempenho muito melhorado
CGI vs FastCGI CGI em Windows • Extremamente lento e instável • A cada pedido (request), é iniciado um novo processo FastCGI • Execução single-threaded • Reutiliza o mesmo processo • Non-Thread Safe PHP ISAPI • Não recomendado • PHP 5.3 sem suporte
CGI vs FastCGI Performance CGI FastCGI Extraído de: http://blogs.iis.net
CGI vs FastCGI FastCGI Extraído de: http://ruslany.net
FastCGI 1.5 Novas características • Auto-tuning de maxInstances para optimização de performance • Reciclagem automática dos processos • 100% Suportado pela Microsoft • Deixa de ser necessário restart ao alterar o php.ini Versões IIS • 7.5 em WinServer 2008 R2 • Tudo 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 Diagnósticos Avançados Gestão remota XML config Arquitetura Modular Integração WMS FastCGI
Instalação Manual Parte V
Instalação manual Download PHP http://www.php.net/downloads.php Configurar Handler Mapping no IIS para FastCGI Configurar PHP.INI Fastcgi.impersonate = 1 Cgi.fix_pathinfo = 1 Cgi.force_redirect = 0 Extension_dir = “./ext” Configurar IIS Virtual Directory
Instalação manual Configurar Handler Mapping no IIS para FastCGI
Instalação manual Configurar PHP.INI Fastcgi.impersonate = 1 Cgi.fix_pathinfo = 1 Cgi.force_redirect = 0 Extension_dir = “./ext”
Instalação manual Configurar PHP.INI Fastcgi.impersonate = 1 Cgi.fix_pathinfo = 1 Cgi.force_redirect = 0 Extension_dir = “./ext”
Instalação manual Configurar IIS Virtual Directory Teste PHP
Instalação Automatizada Parte VI
Instalação automatizada Microsoft 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/web Web Applications What’s New ? Web Platform
Instalação automatizada Web Platform
Instalação automatizada Web Applications
Conclusão • PHP+Windows • Possibilidade de Escolha • WISP, WIMP, WASP, WAMP • No more LAMP • Caso Real • GID