pietro brambati: php e la piattaforma microsoft

19
PHP e la piattaforma Windows Pietro Brambati Developer Evangelist Microsoft [email protected] http://blogs.msdn.com/pietrobr

Upload: francesco-fullone

Post on 01-Nov-2014

5.528 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Pietro Brambati: PHP e la piattaforma Microsoft

PHP

e la piattaforma Windows

Pietro Brambati

Developer Evangelist

Microsoft

[email protected]

http://blogs.msdn.com/pietrobr

Page 2: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

Agenda

• PHP e Windows

• FastCGI

• Internet Information Server 7 (IIS 7) e PHP

• Phalanger

• Nuove tecnologie

Page 3: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

PHP e Windows

• Microsoft e Zend stanno lavorando insieme per offrire il

massimo agli sviluppatori che lavorano con PHP

• Internet Information Server è il web server della

piattaforma Microsoft

• Internet Information Server 7 è una piattaforma completa

per lo sviluppo di applicazioni web con PHP

• IIS 7 disponibile su Windows Vista e con “Longhorn Server”

• AJAX e Silverlight

Page 4: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

PHP e Windows …la storia!

• Due modi per far girare PHP su Windows

• La via “affidabile” CGI

• su Windows è costoso creare un nuovo processo per ogni richiesta

• La vai “veloce” ISAPI

• Su Windows è poco costoso creare thread

• Estensioni PHP non-thread safe

• Molte estensioni PHP non sono thread-safe

Page 5: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

FastCGI : oggi !

• Componente di IIS (5.x/6/7) che permette di utilizzare

PHP in modo affidabile e performante

• Riusa i processi creati per richieste successive

• PHP è single thread in uno dei processi del pool

• Sfrutta il multi-threaded di IIS 7

• Adatto per ambienti di produzione

• Attualmente in Technical Preview 2 e …

Page 6: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

Installare FastCGI su IIS 7

• PHP 5.2.1 o successive (oggi 5.2.2)

• Versione non-thread safe !

• Download FastCGI per la piattaforma (32 o 64 bit)

• Dal prompt dei comandi

• fcgisetup /install

• fcgisetup.exe /add C:\PHP\php-cgi.exe PHP

• Quindi phpInfo()

• Per disinstallare

• Usare lo switch /uninstall

http://www.iis.net/default.aspx?tabid=2&subtabid=25&i=1345

Page 7: Pietro Brambati: PHP e la piattaforma Microsoft

Demo

CGI vs. FastCGI

Page 8: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

IIS 7 e .NET Framework

• .NET Framework è un framework per lo sviluppo di

applicazioni desktop, web e mobile

• fondamento della Microsoft Application Platform

• ASP.NET è la piattaforma per lo sviluppo web

• Con IIS 7 alcune funzionalità di ASP.NET 2.0 sono ora

parte della piattaforma

• per contenuti statici e pagine PHP

• Per l’ autenticazione e autorizzazione

• Gestione utenti e ruoli

• Profilazione … etc.

Page 9: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

IIS7: architettura modulare

• “Piccolo ed efficiente”

• Installi solo i componenti che ti servono

• Riduce il footprint di memoria

• Riduce la superficie di attacco

• Circa 40 moduli disponibili

• Moduli basati su API pubbliche

• Facile sostituire un modulo di IIS con uno proprio

Page 10: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

IIS 7 e PHPOutput Cache

• IIS 7 output cache

• Cache in memoria dell’intera response in user-mode

• Anche per contenuti dinamici

• Diverse copie della pagina in base a querystring, o headers

• Policy

• DontCache | CacheUntilChange | CacheForTimePeriod

• Configurabile da file (web.config)

http://blogs.iis.net/ksingla/archive/2006/11/16/caching-in-iis7.aspx

<caching>

<profiles enabled=”true”>

<add extension=”.php” policy=”CacheForTimePeriod” duration=”00:30:00”

varyByQueryString=”action” varyByHeaders=”User-Agent”/>

</profiles>

</caching>

Page 11: Pietro Brambati: PHP e la piattaforma Microsoft

Demo

IIS 7

Output Cache

Page 12: Pietro Brambati: PHP e la piattaforma Microsoft

Phalanger

Page 13: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

Phalanger Project

• Phalanger = compilatore del linguaggio PHP per .NET

• Abbreviazione di “PHP Language Compiler”

• Semplicità di PHP + ricchezza della piattaforma .NET

• Fornisce l’implementazione delle librerie che sono

compatibili con la maggior parte delle applicazioni PHP

• Compila in MSIL (Microsoft Intermediate Language)

• JIT compila in codice nativo performance

• Può chiamare estensioni PHP native

Page 14: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

Storia del progetto Phalanger

• Progetto in ambito accademico iniziato nel 2003 alla

facoltà di matematica e fisica all’università di Praga

• V 1.0 (feb 2006) compatibile con la maggior parte delle

applicazioni PHP 4 e 5

• V 2.0 (in Beta 3) aggiunto pieno supporto alle classi .NET

• Estensione al linguaggio PHP (PHP/CLI) per il supporto ai

generics, attributi, classi parziali, parte di LINQ etc

• Licenza Microsoft Share Source, ospitato su CodePlex

Page 15: Pietro Brambati: PHP e la piattaforma Microsoft

Demo

Personal Web Site con Phalanger

Page 16: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

Molto altro …

• Microsoft AJAX Library per PHP

• Pochi files per poter utilizzare le MS AJAX Library da PHP

• Le Microsoft AJAX Library (http://ajax.asp.net) sono scaricabili

gratuitamente con il codice sorgente

• http://codeplex.com/phpmsajax

• Silverligth (http://silverlight.net)

• Tecnologia cross-browser, cross-platform per realizzare RIA

• Client-side: VB, C#, Ruby, Phyton

• SIMP (Silverlight, IIS, MySQL, PHP)

• http://silverlight.net/learn/learnvideo.aspx?video=114

• Demo: http://delay.members.winisp.net/SilverlightAirlinesDemo

Page 17: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

Link utili

• Tutto su Internet Information Server 7

• http://www.iis.net/default.aspx?tabid=7

• FastCGI

• http://www.iis.net/default.aspx?tabid=1000051

• Fast CGI Post TP 2 (unofficial – update)

• http://blogs.iis.net/rickjames/archive/2007/04/19/fastcgi-tp2-unofficial-update-70419.aspx

• PHP su IIS 7

• http://blogs.iis.net/bills/archive/2006/10/31/PHP-on-IIS.aspx

• Phalanger Project

• http://www.php-compiler.net

• Sicurezza

• http://secunia.com

Page 18: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

Risorse per sviluppatori

• Sito web italiano e newsletter MSDN Flash

• http://www.microsoft.com/italy/msdn

• Seminari on-line gratuiti (webcast)

• http://www.microsoft.it/msdn/webcast

• Conferenze

• http://www.microsoft.com/italy/msdn/eventi/default.mspx

• Community

• http://www.microsoft.com/italy/msdn/community/defult.mspx

• Contattaci

• http://www.microsoft.com/italy/msdn/contattaci

Page 19: Pietro Brambati: PHP e la piattaforma Microsoft

http://blogs.msdn.com/pietrobr | Pietro Brambati

© 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market

conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.

MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.