pietro brambati: php e la piattaforma microsoft

Post on 01-Nov-2014

5.528 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

 

TRANSCRIPT

PHP

e la piattaforma Windows

Pietro Brambati

Developer Evangelist

Microsoft

pietro.brambati@microsoft.com

http://blogs.msdn.com/pietrobr

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

Agenda

• PHP e Windows

• FastCGI

• Internet Information Server 7 (IIS 7) e PHP

• Phalanger

• Nuove tecnologie

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

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

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 …

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

Demo

CGI vs. FastCGI

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.

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

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>

Demo

IIS 7

Output Cache

Phalanger

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

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

Demo

Personal Web Site con Phalanger

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

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

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

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.

top related