Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

PHP na Windows Artur Żarski Developer Evangelist Microsoft Corporation.

Podobne prezentacje


Prezentacja na temat: "PHP na Windows Artur Żarski Developer Evangelist Microsoft Corporation."— Zapis prezentacji:

1 PHP na Windows Artur Żarski Developer Evangelist Microsoft Corporation

2 Plan spotkania IIS7 jako platforma PHP na Windows SQL Server Driver for PHP Expression Web 2 Inne możliwości współdziałania

3

4

5 Przykłady projektów PHP Azure API for PHPPhalangerPHP4VSWindowsLive for PHPPHPOpenXML APIPHPRPC for.NETExcel document creation via OpenXML for PHPPHP Linq

6

7 Zalety IIS 7.0 Modularna architektura aby zredukować możliwość ataku Konfiguracja systemu oparta na XML Możliwość zdalnego zarządzania Zaawansowana diagnostyka Integracja z WMS oraz Media Pack Możliwość rozszerzenia IIS7 przy użyciu kodu zarządzanego

8 Dlaczego warto przejść na IIS7? (1/2) Konfiguracja w pliku tekstowym Apache: httpd.conf ale wymaga restartu przez admina IIS7: bez restartu + command line Rozproszona konfiguracja Apache:.htaccess Asp.net: web.config, konfiguracja per-URL (per żądanie) Rozszerzalność (C/C++/C#/VB.NET/ 30+ innych języków...) Nowy interfejs CHttpModule, łatwo zastąpić swoim SQL Logging (logowanie W3C w mniej niż 50 linii kodu)

9 Dlaczego warto przejść na IIS7? (2/2) Zaawansowana diagnostyka oraz rozwiązywanie problemów 'failed request tracing request monitoring and runtime data Administracja i API AppCmd.exe WMI provider Microsoft.Web.Administration Inne: Application Request Routing Web Deployment Tool Bitrate Throttling / Smooth Streaming …

10 Moduły dostarczają usługi dla wszystkich żądań moduł Basic Authentication moduł Compression Handlery dostarczają usługi dla specyficznych rozszerzeń ISAPI handler (.dll) Static handler (.htm,.jpg,.gif, etc) IIS 7 pozwala na zarządzanie natywnymi i zarządzanymi modułami oraz handlerami. IIS7.NET Extensibility – Moduł vs. Handler public class BasicAuthenticationModule : System.Web.IHttpModule { void Init(HttpApplication context) { } void Dispose() { } }

11 Set oService = GetObject("winmgmts:root\WebAdministration") ' Tworzymy binding dla witryny Set oBinding = oService.Get("BindingElement").SpawnInstance_ oBinding.BindingInformation = "*:80:www.site.com" oBinding.Protocol = "http" Tworzymy witrynę oService.Get("Site").Create _ "NewSite", array(oBinding), "C:\inetpub\wwwroot" ' Tworzymy aplikację oService.Get("Application").Create _ "/foo", "NewSite", "C:\inetpub\wwwroot\foo" Skrypty: nowy WMI Provider

12 C:\> appcmd list sites SITE "Default Web Site" (id:1,bindings:HTTP/*:80:,state:Started) SITE "Site1" (id:2,bindings:http/*:81:,state:Started) SITE "Site2" (id:3,bindings:http/*:82:,state:Stopped) C:\> appcmd list requests REQUEST "fb e" (url:GET /wait.aspx?time=10000,time:4276 msec,client:localhost) C:\> appcmd list requests /apppool.name:DefaultAppPool C:\> appcmd list requests /wp.name:3567 C:\> appcmd list requests /site.id:1 Appcmd – listowanie i filtrowanie Potężne narzędzie do zarządzania IIS 7 z linii komend

13 ServerManager iisManager = new ServerManager(); foreach(WorkerProcess w3wp in iisManager.WorkerProcesses ) { Console.WriteLine("W3WP ({0})", w3wp.ProcessId); foreach (Request request in w3wp.GetRequests (0)) { Console.WriteLine("{0} - {1},{2},{3}", request.Url, request.ClientIPAddr, request.TimeElapsed, request.TimeInState); } } Programowanie: Microsoft.Web.Administration Nowe APIs pozwala programistom na pisanie własnych narzędzi do wdrażania, zarządzania ASP.NET oraz IIS

14

15

16 Najważniejsze elementy ADOdb Pierwszy projekt Open Source, w którym MS brał udział SQL Server PHP Driver SQL Server Driver for PHP został stworzony aby umożliwić współpracę PHP z SQL Server IIS7+ FastCGI Podstawa PHP na Windows Expression Web 2.0 Wsparcie narzędzi MS do pracy z PHP

17 IIS FastCGI Solidna platforma dla aplikacji PHP Otwarty standard Wspierane przez środowisko PHP oraz wiele innych frameworków open source (RoR, Perl, Python, …) Ulepszenie CGI Web server tworzy proces FastCGI dla pierwszego żądania Web server wykorzystuje istniejące procesy FastCGI dla następnych żądań Konfigurowalne zasoby vs. ISAPI: Dostarcza wymaganą stabilność dla aplikacji PHP typu non-thread- safe vs. CGI: Drastyczny wzrost wydajności

18 IIS FastCGI – Zasada działania FastCGI process pool for PHP4 php.exe Request queue FastCGI process pool for PHP5 php-cgi.exe FastCGI over named pipes lub TCP

19 Uruchomienie aplikacji PHP na IIS 7.0 Łatwy setup: Instalacja PHP z FastCGI Wdrożenie aplikacji Kompatybilność: Top 10 aplikacji PHP testowane i udokumentowane na Łatwa migracja ze wsparciem Url Rewrite

20

21 SQL Server PHP Driver Zalety: Pozwala na pewną i skalowaną integrację z SQL Server Tworzenie aplikacji na silnym i bezpiecznym silniku BD BI oraz SQL Reporting Services Konfiguracja: Php.ini -> extension=php_sqlsrv.dll Połączenie: $serverName = "(local)"; $connectionOptions = array("Database"=>"AdventureWorks");

22

23 Microsoft ® Expression ® Web 2 PHP 5.2.5, Fast CGI Intellisense, code-coloring oraz snippety Podgląd PHP include w trybie projektowanie Podgląd stron PHP na różnych zainstalowanych przeglądarkach przy pomocy wbudowanego Webservera

24

25 PHP na Windows – dalsze możliwości

26 PHP i Silverlight Działa na IIS i Apache Wymaga dodania dwóch MIME types dla Silverlight.xaml – application/xaml+xml.xab – application/x-silverlight-app Brak ustawień = błąd 404.3

27 PHP i ASP.NET Membership + AJAX ASP.NET Kompletne zarządzane API PHP on Windows Microsoft SQL Server Driver for PHP Web Services.NET / COM PHP On Linux FreeTDS Sockets Web Services

28 PHP i obiekty COM Czym jest COM (Component Object Model) ? PHP tak naprawdę nie używa COM. COM jest dowolnym językiem Windows VB C++ Delphi Python Perl Cobol Fortran

29 Tworzenie obiektów COM someMethod(Some Argument); ?>

30 Inne możliwości Microsoft Office Web Services NuSOAP PHP 5 – Native SOAP Extension ezSOAP PEAR::SOAP Microsoft.NET Microsoft Services (np. Live, Azure) Phalanger

31 PHP – Wish List Natywne API dla Active Directory AzMan API dla PHP PHP Bridge dla ADAM ASP.NET 2.0 Authentication Provider dla PHP A CDO / Exchange Bridge dla PHP PHP-Nuke, Mambo, etc. etc. Na MS SQL Server Opcjonalnie dla Phalanger Opcjonalnie dla AD

32 VS.NET Common Language Runtime System System.Data (ADO.NET) System.Xml Design ADO Adapters SQL Globalization Diagnostics Configuration Collections Resources Reflection Net IO Threading Text ServiceProcess SecurityRuntime InteropServices Remoting Serialization XPath XSLTSerialization System.Drawing JIT GC MSIL App Domain Loader Common Type SystemClass Loader System.Web (ASP.NET) Configuration SessionState Caching Security Simple Web Services Description Protocols UI HtmlControls WebControls Discovery C# VC/MC++ Imaging Drawing2D Text Printing JScript VB Platform Abstraction Boot LoaderSyncThreadsNetworkingTimersFilesystem System.WinForms DesignComponentModel Debugger Designers SDK Tools CorDBG ILAsm ILDbDump SN ILDAsm MetaInfo PEVerify

33

34 © 2008 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.


Pobierz ppt "PHP na Windows Artur Żarski Developer Evangelist Microsoft Corporation."

Podobne prezentacje


Reklamy Google