Microsoft loves PHP. Seriously.


Published on

Brendan Sera-Shriar (@digibomb) and Paul Laberge's (@plaberge) presentation from FSOSS.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • In 2007
    Fast CGI
    With the release of FastCGI first time you could actually consider hosting php on win/iis, production quality, no more crashes.
    FastCGI handles PHP requests out of an app pool rather than spinning up a new one each time.
    FastCGI provides optimal PHP performance without having to manually tune:
    Fast CGI provides Automatic performance tuning.
    Determines: CPU usage, memory consumption, context switches.
    Based upon that information it changes the number of PHP processes to optimize your application automatically. (Sets Dynamic Max Instances)
    Very important if you are managing many customers on a single machine since it allows for a higher density of PHP applications on Windows than you could get before or a customer with an app that has large changes in requests over time.
    Automatic recycling of PHP processes in IIS when php.ini changes. No longer need to restart IIS.
    Version 1.5 now has a consistent set of features across all versions of IIS. This is important as a significant number of PHP developers still use XP. This will allow them to develop and deploy seamlessly to Windows Server. Version 1.5 of Fast-CGI is included in Windows Server 2008 R2 (IIS 7.5), an update is available for IIS 7 along with a back-port for those using XP.
    Another useful feature I wanted to point out here as well is you can provide to your customers developing or running PHP on Windows/IIS is the Advanced Logging module in IIS which you can use to consolidate event reporting for PHP itself as well as from IIS. This will help your customers consolidate application performance reporting, good for tracking failed requests or other issues in your php application. No need to have separate error log files for webserver and php.
  • IIS
    IIS 7.0 is a from the ground up rewrite over the previous versions and with a new architecture.
    Default Min Install: The new IIS 7.0 architecture and default minimum install enables a significant reduction in attack surface making it far more secure.
    Modular Architecture: Previous versions of IIS were difficult to customize or streamline for high performance applications.
    This new modular architecture makes it far easier to create modules and handlers at any point in the processing pipeline.
    You also don’t have to write these modules in C++ anymore either. You can create them in managed code far faster and with excellent performance.
    Streamlined Processing Pipeline: The modular architecture allows for a streamlined processing pipeline. Load only what modules you need for much better performance.
    Web Config: The new configuration system in IIS 7.0 loads configuration files—similar to .htaccess files in Apache—and manages them in a cache after first read. All subsequent requests use the cached configuration and the new configuration cache consumes significantly less memory than the equivalent in Apache. IIS 7.0 also includes caching support for all types of dynamic content.
  • PHP Manager for IIS 7 is a open source extension for IIS Management Console, that greatly simplifies the tasks of setting up, configuring and managing one or more PHP versions on IIS server. Use it to register PHP with IIS, run multiple PHP versions, get the information about PHP runtime settings, add and modify php.ini directives and enable or disable PHP extensions.
    Simple registration of many PHP versions with IIS
    An easy way of checking if PHP works correctly by geting the output of phpinfo() function
    Configuring the PHP error reproting settings for production or development environment
    Managing all php.ini directives and PHP extensions from within IIS manager
    Remote PHP administration via IIS Remote Administration Tool
    Works well with PHP installed via Web Platform Installer or PHP Windows Installer
  • Signed version includes support
  • Windows Azure is our Cloud Platform and is open & interoperable out of the box
    Support for Industry Web Standards (REST, oData, Atom Pub) enabling interoperability
    Great support for PHP
    Open source tooling from Eclipse & Language bindings for PHP
    Windows Azure companion enables seamless deployment.
    Currently working on enabling community apps (drupal) to be supported on Azure.
    Windows Azure Companion (new) (CTP) – a new tool that aims to provide a seamless experience when installing and configuring PHP platform-elements (PHP runtime, extensions) and web-applications running on Windows Azure.
    Windows Azure Tools for Eclipse for PHP (v2.0) – End to End Windows Azure Platform Cloud Development for PHP Developers
    Windows Azure Command Line Tools for PHP (v2.0) – a command-line tool, which offers PHP developers a simple way to package PHP based applications in order to deploy to Windows Azure
    Windows Azure SDK for PHP version 2.0 (v2.0) – enables PHP developers to easily extend their applications by leveraging Windows Azure services (like Blobs, tables and queues) in their web applications whether they run on Windows Azure or on another cloud platform.
  • Microsoft loves PHP. Seriously.

    1. 1. Microsoft Loves PHP – Seriously! Brendan Sera-Shriar Web Designer @digibomb Paul Laberge Architect Advisor @plaberge
    2. 2. When you here the name “Microsoft”, what types of images does it conjure in your head?
    3. 3. A problem has been detected and Windows has been shut down to prevent damage to your computer. The problem was caused by the following: gotchaitsajoke.sys SYSTEM_FAULT_WINSYS_BOOTSTRAP.DRV If this is the first time you have seen this Stop Error screen, restart your computer. If this screen appears again, follow these steps: Check to make sure all hardware and software is properly installed. If this is a new installation, please contact the manufacturer of your computer. If problems continue, disable or remove any new hardware you may have recently installed and try rebooting. Consider booting into Safe Mode to disable any advanced hardware features first by pressing F8 to select Advanced Startup Options and select Safe Mode. For more information on BSOD refer to This presentation is certified LOLCAT-free. Technical Information: ***STOP: 0x4E4F4443 (0xEA1019D, 0xFFF0101F, 0x00ABACAB, 0xBABABABA) ***GOTCHAITSAJOKE.SYS – Address 484DE5FA base at 544444AA, Datestamp 49A62CD ***WHOKNEWTHE.DRV, EMPIRTEHADA.CFG, SENSEOFHUMOUR.DAT nV4_DISP Beginning dump of physical memory Physical memory dump complete Contact your system administrator or technical support group for further assistance.
    4. 4. Worst. Software. Ever.
    5. 5. That being said, Microsoft is trying really hard to change this perception by working with the Free Software/Open Software community. I’m sure there are many more you can think of.
    6. 6. We’re very happy to be here. The reason we are here is not to convert you (honestly!) but rather to let you know of some of the things we are doing to help you succeed.
    7. 7. Goals for Today’s Session • Put a face to Microsoft, specifically Microsoft Canada. • Demonstrate our honest desire to work with the Open Source Community and provide a positive contribution to it • Show you some of the tools Microsoft has built (ourselves or with partners) to make Open Source a First Class Citizen on Windows
    8. 8. OUR CONTRIBUTIONS Reaching out to Open Source
    9. 9. Believe it or not, we’ve actually been contributing and actively participating in the open source community for a while and we’ve recently ramped it up a notch.
    10. 10. Make Web Not War – DEVTrain Photo by Chris Luckhardt (motionblur) • Annual conference hosted by Microsoft • Different city each year • Bringing diverse platform communities together • Open discussion on how to build great software and solutions • Networking and fostering friendships •
    11. 11. • Blog and discussion platform for open source on Windows • Prominent FOSS community members provide posts • News about cool, new interoperable tools and software, including those from Microsoft •
    12. 12. • Started sponsoring and actively participating WordCamps in Canada in 2009 (at WordCamp Toronto 2009) • Reaching out the the WordPress community to put a face to the Microsoft brand • Show the PHP community we’re really not that evil Joey deVilla, Microsoft Developer Evangelist at WordCamp Toronto 2009 Photo: Hicham Souilmi
    13. 13. • Incepted by Microsoft in 2009 as and spun as an independent entity in 2010 • Founded to enable the exchange of code and understanding among software companies and open source communities • Provides a framework that allows developers in software companies to contribute freely to open source initiatives
    14. 14. • With Internet Explorer 9, Microsoft is embracing the future standard of HTML5 • Microsoft is a core team member for the HTML5 specification • Microsoft is actively involved in over 30 working groups at th W3C
    15. 15. TOOLS FOR OPEN SOURCE Yes, we actually have them.
    16. 16. A look back to 2006 • PHP 4.4, 5.0 • IIS 6 • PHP on Windows+IIS • Running on CGI – Stable but Slow • Running on ISAPI – Fast but unstable Translation: Weweren’tinthegame.
    17. 17. FAST-CGI PHP • Production PHP on Windows!!! • Requests from app pool • Automatic max app pool sizing • Auto recycling PHP pool when php.ini changes • Consolidate PHP errors in IIS
    18. 18. IIS 7 • Nearly ground up Rewrite • New modular architecture • Default minimum installation • Streamlined processing pipeline • New XML-based web.config
    19. 19. PHP Manager • Register multiple PHP versions • Easy checking of phpinfo() • Configure error reporting • Manage php.ini directives • Manage all PHP extensions • Remote PHP administration
    20. 20. SQL Server • PHP Driver for SQL Server 2.0 • Support for native PHP • Support for PDO • Support for PHP 5.3 • Source released under Apache 2.0 • Drupal 7 will be first major PHP app with SQL Server support
    21. 21. PHP INTEROPERABILITY • Windows Azure Companion (CTP) – Install & configure PHP & web apps • Azure Tools for Eclipse/PHP – Build for the cloud on PHP • Azure Cmd Line Tools for PHP – Cmd line package & deploy to Azure • Windows Azure SDK for PHP – Extend with blobs, tables and queues
    22. 22. MICROSOFT WEBMATRIX Introducing… WHAT’S NEXT?
    23. 23. WEBMATRIX • Create a new PHP site • Web Application Gallery • Create from Folder
    24. 24. WEBMATRIX • Customize and Test – Light-weight editor • HTML, PHP, CSS – Easily add modules – MySQL Database editor – Monitor HTTP Requests – Tune and optimize for Search Engines
    25. 25. WEBMATRIX • Publish to the Web – FTP – Web Deploy • Includes Database – Pull - Synchronize • Web Hosting Gallery – Great deals on hosting – PHP on Windows + IIS – PHP and MySQL
    26. 26. Demo A Tour of WebMatrix by Brendan Sera-Shriar
    27. 27. © 2010 Microsoft Corporation. All rights reserved. Microsoft, Windows 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.