PHP em Windows WUX202 Nuno Nóbrega Batista Adminsaude Nuno.batista@adminsaude.com
PHP em Windows Durante a última década o PHP está disponível para Windows, e embora muitos programadores geralmente escolherem plataformas Windows durante o período de desenvolvimento de aplicações, quando se trata da implementação muito poucas soluções seguiram este caminho. Esta sessão irá discutir o quanto a cooperação entre comunidades elevou o PHP para novos niveis na plataforma Windows. Serão discutidos os novos recursos que tornaram a integração do PHP na plataforma Windows mais fácil do que nunca, bem como as novas funcionalidades e benefícios e testemunhar como o PHP e o Open Source estão transformando os sistemas Windows
Nuno Batista Director @ AdminSaúde Gestor de projecto GID (Gestão Integrada da Doença). Responsável departamento de Informática do Hospital de Santa Cruz (Carnaxide). 7 Anos de experiencia em implementação de sistemas de informação na área hospitalar.
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 Reutiliza o mesmo processo Execução single-threaded 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 Deixa de ser necessário restart ao alterar o php.ini 100% Suportado pela Microsoft 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 Handler Mapping no IIS para FastCGI
Instalação manual
Extension_dir = “./ext” Instalação manual Configurar PHP.INI Fastcgi.impersonate = 1 Cgi.fix_pathinfo = 1 Cgi.force_redirect = 0 Extension_dir = “./ext”
Extension_dir = “./ext” Instalação manual 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 IIS Virtual Directory Teste PHP
Instalação manual
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 What’s New ? http://www.microsoft.com/web Web Platform Web Applications
Instalação automatizada Web Platform
Instalação automatizada
Instalação automatizada Web Applications
Instalação automatizada
Conclusão PHP+Windows Caso Real Possibilidade de Escolha No more LAMP WISP, WIMP, WASP, WAMP No more LAMP Caso Real GID