Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

Embed Size (px)

Citation preview

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    1/32

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    2/32

    Make Web Not WarMake Web Not War

    PHP + IIS +PHP + IIS +SilverlightSilverlightTC Wu featuring Rohan Thomas

    SilverCamp PresentsSilverCamp Presents

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    3/32

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    4/32

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    5/32

    PHP + IISPHP + IIS

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    6/32

    Best of Both WorldsBest of Both Worlds

    Same platform one source of solution

    Crossover platform richer solutionacross

    +

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    7/32

    Best of Both WorldsBest of Both Worlds

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    8/32

    Best of Both WorldsBest of Both Worlds

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    9/32

    Best of Both WorldsBest of Both Worlds

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    10/32

    ConsolidationConsolidation

    Less platform = less servers + lessconflict = less maintenance +

    problem = less headache / busy

    =Efficiency = Free time/piece of mind =plan for betterment / improvement ofprocess = Productivity/Work-life

    balance

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    11/32

    Consolidation = SavingsConsolidation = Savings

    Get More out of Less

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    12/32

    Less Servers = GreenLess Servers = Green

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    13/32

    Protocol:Protocol: FastCGIFastCGI

    CGI - interfacing external applicationsto web servers

    FastCGI reduces overhead associatedwith interfacing the web server andCGI programs

    by reusing a single process over and over again formany requests

    Allows a server to handle more web

    page requests at once

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    14/32

    Protocol:Protocol: FastCGIFastCGI

    Why not CGI or ISAPI?Integrated support with IIS 7.0 and Fast CGI

    CGI Stable but too slowstarting and shutting down a process for each request

    ISAPI Slower than FastCGIinternal to the web server process

    Upcoming improvements to FastCGIReal time tuning of system based on system loadand number of requests waiting

    Recycle PHP processes on changes to php.ini

    Tracing better debugging for PHP developers

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    15/32

    StepStep 1:1: Turn On CGI & FastCGITurn On CGI & FastCGIWindows 2008:

    Server Manager > Roles > Add Role Services

    Web Server > App. Dev. > Tick CGI

    Windows Vista SP1:Control Panel > Programs and Features > TurnWindows features on or off

    WWW Services > App. Dev. Features > Tick CGI

    Update KB954946:For PHP application that depends on theREQUEST_URI server variable

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    16/32

    StepStep 2:2:

    Install & Configure PHPInstall & Configure PHP

    Download:

    www.php.net/downloads.phpGet non-thread safe versionNo thread-safety checks - not necessary, sinceFastCGI ensures a single threaded executionenvironment

    Significant performance gains over the standardbuild

    After Installation:Rename the php.ini-recommendedto php.ini

    http://www.php.net/downloads.phphttp://www.php.net/downloads.php
  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    17/32

    StepStep 2:2:

    SSet parameters inet parameters in php.iniphp.ini

    Set fastcgi.impersonate = 1impersonate security tokens of the calling client

    to define the security context that the request runs under.

    Set cgi.fix_pathinfo=1cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED

    support for CGI

    PHP's previous behavior was to set PATH_TRANSLATED toSCRIPT_FILENAME, and to not care what PATH_INFO is

    Set cgi.force_redirect = 0.

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    18/32

    StepStep 2:2:

    ..and to finish it off..and to finish it off

    Set extension_dir to point to a location wherePHP extensions reside.Typically, for PHP 5.2.X that would be set as

    extension_dir = "./ext"

    Enable the required PHP extension by un-commenting corresponding lines, for

    example:

    extension=php_mssql.dllextension=php_mysql.dll

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    19/32

    StepStep 3:3:

    Configure IIS 7.0 to Handle PHPConfigure IIS 7.0 to Handle PHPRequestsRequestsIIS7 > PCName ( PCName\Administrator) >

    Handler Mappings

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    20/32

    StepStep 3: Finally3: Finally

    Test the siteTest the site

    Create Phpinfo.php insideC:\inetpub\wwwroot

    Http://localhost/php/Phpinfo.php

    http://localhost/php/Phpinfo.phphttp://localhost/php/Phpinfo.php
  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    21/32

    Web PI :Web PI : PPlatformlatform IInstallernstaller

    Fastest & Easiest way to Install PHP on IIS

    Automates Installation & Configures for you

    No longer have manually configure & set

    parameters

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    22/32

    Web PI : Web PlatformWeb PI : Web Platform

    InstallerInstallerAutomates InstallationAutomates Installation

    Web ToolsSilverlight 2 Tools, Visual Web Dev. 2008 Express

    ServersIIS Management & Configuration Extensions

    Database

    SQL Server 2008Framework

    ASP.NET, PHP

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    23/32

    Web PI : Web Apps GalleryWeb PI : Web Apps Gallery

    12 Web Apps & still counting...12 Web Apps & still counting...

    DotNetNuke interactive web site & app. builder

    Wordpress blog tool & publishing platform

    Acquia Drupal dynamic & social web site builder

    Gallery web based photo gallery

    ScrewTurn Wiki ASP.NET based kb/wiki software

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    24/32

    Web PI : Takes careWeb PI : Takes care

    Ensures it's the latest version before itEnsures it's the latest version before itinstallsinstallsSoftware up-to-date checks

    Takes care of the order of installation /prerequisites

    All using the same installer: Web PI

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    25/32

    Web P.IWeb P.I

    Special appearance by Rohan Thomas

    DemoDemo

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    26/32

    PHP + IIS +PHP + IIS +

    SilverlightSilverlightSpecial appearance by Rohan Thomas

    DemoDemo

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    27/32

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    28/32

    Microsoft Open Source Technology CenterMicrosoft Open Source Technology Center

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    29/32

    Microsoft and the PHP CommunityMicrosoft and the PHP Community

    BeforeNo Core developer workingon or for Windows

    Windows was a 2nd classplatform

    Binaries releases days orweeks after the sourcesreleasesAbsence QA on Windows

    Lack of documentation andcommunication

    NowCreation of the Windows InternalsTeam

    2 core developers 7 regular helpers, contributors or testers

    (growing)

    Windows is now aprimaryplatform

    Synchronizedreleases 5.2.6, 5.2.7, 5.2.8, 5.3.0 beta

    QA on Windows

    95%of the core tests pass on WindowsDedicated communication channels Mailing list, Windows internal list,

    iis.net/php(http://www.php.net/mailing-lists.php)

    IRC channel on freenode #php-dev-win

  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    30/32

    LinksLinks

    Web PI :www.microsoft.com/web OR

    php.iis.net

    PHP Manual install & configure:learn.iis.net

    Microsoft Open Source Community:port25.technet.com

    Home to open source community at MS

    Open source interoperatibility

    http://www.microsoft.com/webhttp://www.microsoft.com/web%20OR%20php.iis.nethttp://www.microsoft.com/webhttp://www.microsoft.com/webhttp://www.microsoft.com/webhttp://www.microsoft.com/webhttp://www.microsoft.com/web%20OR%20php.iis.nethttp://www.microsoft.com/web
  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    31/32

    ContactContact

    Name: TC WuPosition: Lead Software Engineer

    Twitter: @kaizenx

    Blog: www.norecursion.comEmail: [email protected]

    HP: 012-3358389

    http://www.norecursion.com/mailto:[email protected]:[email protected]://www.norecursion.com/
  • 8/9/2019 Rianomics PHP IIS Silverlight MSCOSCONF2009 #MOSC2010

    32/32

    2009 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 Corporat ion 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.